Home | History | Annotate | only in /src/sys/external/bsd/acpica
History log of /src/sys/external/bsd/acpica
RevisionDateAuthorComments
 1.5 24-Feb-2025  christos add a reminder to update the date
 1.4 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.3 15-Sep-2024  christos fix typo, noted by RVP
 1.2 13-Sep-2024  christos fix more windows damage: remove executable bit, fix capitalized file
 1.1 25-Oct-2014  christos branches: 1.1.18; 1.1.58;
merge conflicts
 1.1.58.1 02-Aug-2025  perseant Sync with HEAD
 1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.18.1 25-Oct-2014  jdolecek file acpica2netbsd was added on branch tls-maxphys on 2017-12-03 11:37:37 +0000
 1.18 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.17 05-Jan-2019  christos new file
 1.16 15-Sep-2017  christos branches: 1.16.2; 1.16.4;
merge conflicts
 1.15 11-Nov-2016  christos Adjust to new acpica
 1.14 04-May-2016  christos branches: 1.14.2;
merge new acpica
 1.13 09-Jan-2016  christos fix the non-debug build.
 1.12 09-Jan-2016  christos merge new acpica
 1.11 28-Aug-2015  uebayasi Try config(5) "prefix" to shorten lines.
 1.10 18-Aug-2015  chs post-christos cleanup: fix the build
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos update for new acpica
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos add missing debugger files.
 1.5 27-Dec-2013  christos amend for new files
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Adjust for ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.6;
Fix ACPI_DEBUG build.
 1.2 17-Feb-2011  jruoho branches: 1.2.2;
Update for ACPICA 20110211.
 1.1 17-Feb-2011  jruoho Add the build glue.
 1.2.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 17-Feb-2011  bouyer file files.acpica was added on branch bouyer-quota2 on 2011-02-17 12:00:17 +0000
 1.3.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.6.1 17-Feb-2011  jruoho file files.acpica was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +0000
 1.3.2.2 05-Mar-2011  rmind sync with head
 1.3.2.1 17-Feb-2011  rmind file files.acpica was added on branch rmind-uvmplock on 2011-03-05 20:54:21 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.7.2.5 05-Dec-2016  skrll Sync with HEAD
 1.7.2.4 29-May-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.14.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.16.4.1 10-Jun-2019  christos Sync with HEAD
 1.16.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file Makefile was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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;
Reimport ACPICA 20100528 to a new location.
 1.1.1.2.16.1 18-May-2014  rmind sync with 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 README was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +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 README was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 README was added on branch bouyer-quota2 on 2011-02-17 12:00:17 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.35 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.34 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.33 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.32 01-Sep-2023  christos branches: 1.1.1.32.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.31 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.30 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.29 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.28 06-Jul-2021  christos Import acpica-20210604
 1.1.1.27 03-Apr-2021  christos branches: 1.1.1.27.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.26 27-Nov-2020  christos branches: 1.1.1.26.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.25 02-Aug-2020  christos branches: 1.1.1.25.2;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.24 25-May-2020  christos 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.23 28-Mar-2020  christos 
 1.1.1.22 14-Dec-2019  christos 
 1.1.1.21 15-Oct-2019  christos 
 1.1.1.20 29-Apr-2019  christos 
 1.1.1.19 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.18 18-Aug-2018  christos 
 1.1.1.17 04-May-2018  christos branches: 1.1.1.17.2;
 1.1.1.16 07-Apr-2018  christos 
 1.1.1.15 12-Nov-2017  christos branches: 1.1.1.15.2;
 1.1.1.14 15-Sep-2017  christos 
 1.1.1.13 30-Apr-2017  christos 
 1.1.1.12 25-Jan-2017  christos branches: 1.1.1.12.4;
One more time in the right place...
 1.1.1.11 11-Nov-2016  christos branches: 1.1.1.11.2;
Import acpica-20160930:
 1.1.1.10 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2;
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.32.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.27.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.26.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.25.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.25.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.17.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.15.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.15.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.15.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.15.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.12.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.9.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.9.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.5.2.8 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.7 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.6 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.5 05-Oct-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 changes.txt was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +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 changes.txt was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 changes.txt was added on branch bouyer-quota2 on 2011-02-17 12:00:17 +0000
 1.4 28-Jun-2011  jruoho Merge ACPICA 20110623.
 1.3 18-Feb-2011  jruoho branches: 1.3.2; 1.3.6;
Revert previous.
 1.2 18-Feb-2011  jruoho Cast pthread_self(3) to uintptr_t. ACPICA 20100915:

The ACPI_THREAD_ID type is no longer configurable, internally it is now
always UINT64. This simplifies the ACPICA code, especially any printf
output. UINT64 is the only common data type for all thread_id types across
all operating systems. It is now up to the host OSL to cast the native
thread_id type to UINT64 before returning the value to ACPICA (via
AcpiOsGetThreadId). Lin Ming, Bob Moore.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.2.3 05-Mar-2011  bouyer Sync with HEAD
 1.1.1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.1.1.2.2.1 17-Feb-2011  bouyer file osunixxf.c was added on branch bouyer-quota2 on 2011-02-17 12:00:17 +0000
 1.3.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.6.1 18-Feb-2011  jruoho file osunixxf.c was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +0000
 1.3.2.2 05-Mar-2011  rmind sync with head
 1.3.2.1 18-Feb-2011  rmind file osunixxf.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +0000
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 18-Aug-2018  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 15-Sep-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 04-May-2016  christos branches: 1.1.1.2.2;
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.1 09-Jan-2016  christos branches: 1.1.1.1.2;
import new acpica:
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 15-Sep-2017  jdolecek file acfileio.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file acfileio.c was added on branch nick-nhusb on 2016-03-19 11:30:21 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 25-May-2020  christos branches: 1.1.1.11.2; 1.1.1.11.4;
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.10 28-Mar-2020  christos 
 1.1.1.9 14-Dec-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file acgetline.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file acgetline.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file acgetline.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 04-May-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 adfile.c was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +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 adfile.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 adfile.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos branches: 1.1.1.21.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 adisasm.c was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +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 adisasm.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 adisasm.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 adwalk.c was added on branch jruoho-x86intr on 2011-06-06 09:08:48 +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 adwalk.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 adwalk.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file ahids.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 27-Nov-2020  christos branches: 1.1.1.13.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.12 28-Mar-2020  christos branches: 1.1.1.12.4;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file ahpredef.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file ahpredef.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file ahpredef.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.12 06-Jul-2021  christos Import acpica-20210604
 1.1.1.11 03-Apr-2021  christos branches: 1.1.1.11.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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 15-Sep-2017  christos 
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 12-Nov-2017  jdolecek file ahtable.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file ahtable.c was added on branch nick-nhusb on 2015-09-22 12:06:02 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 27-Nov-2020  christos branches: 1.1.1.10.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.9 28-Mar-2020  christos branches: 1.1.1.9.4;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 15-Sep-2017  jdolecek file ahuuids.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12; 1.1.1.5.14;
One more time in the right place...
 1.1.1.4 11-Nov-2016  christos branches: 1.1.1.4.2;
Import acpica-20160930:
 1.1.1.3 09-Jan-2016  christos branches: 1.1.1.3.2;
import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.12.1 25-Jan-2017  jdolecek file cmfsize.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.4.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 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 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmextern.c 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 dmextern.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 dmextern.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmrestag.c 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 dmrestag.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 dmrestag.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 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.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 15-Sep-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 15-Sep-2017  jdolecek file dmswitch.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 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 branches: 1.1.1.24.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.23 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 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.20 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.19 06-Jul-2021  christos Import acpica-20210604
 1.1.1.18 03-Apr-2021  christos branches: 1.1.1.18.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.17 28-Mar-2020  christos branches: 1.1.1.17.4; 1.1.1.17.6;
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 07-Apr-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 12-Nov-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-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 branches: 1.1.1.10.2;
Import acpica-20160930:
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2;
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.24.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.18.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.17.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 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 dmtable.c 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 dmtable.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 dmtable.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.11 24-Aug-2025  christos merge our changes into 20250807
 1.10 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.9 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.8 01-Sep-2023  christos branches: 1.8.6;
merge conflicts between 20230628 and 20221020
 1.7 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.6 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.5 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.4 28-Mar-2020  christos branches: 1.4.4; 1.4.6;
merge conflicts
 1.3 14-Dec-2019  christos merge conflicts
 1.2 19-Oct-2019  christos fix printf format (llvm)
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos 
 1.1.1.9 14-Dec-2019  christos 
 1.1.1.8 15-Oct-2019  christos 
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 30-Apr-2017  christos branches: 1.1.1.5.8; 1.1.1.5.10;
 1.1.1.4 25-Jan-2017  christos branches: 1.1.1.4.4;
One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 04-May-2016  christos branches: 1.1.1.2.2;
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.1 09-Jan-2016  christos branches: 1.1.1.1.2;
import new acpica:
 1.1.1.6.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.10.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.8.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.8.1 30-Apr-2017  jdolecek file dmtables.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.4.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file dmtables.c was added on branch nick-nhusb on 2016-03-19 11:30:21 +0000
 1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 12-Nov-2017  christos branches: 1.9.2;
merge conflicts
 1.8 15-Sep-2017  christos merge conflicts
 1.7 25-Jan-2017  christos 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 1294266: Cast to void.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 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.16 28-Mar-2020  christos 
 1.1.1.15 29-Apr-2019  christos 
 1.1.1.14 07-Apr-2018  christos 
 1.1.1.13 12-Nov-2017  christos 
 1.1.1.12 15-Sep-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.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 dmtbdump.c 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 dmtbdump.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +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 dmtbdump.c 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.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.8 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.7 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.6 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.5 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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 14-Dec-2019  christos 
 1.1.1.2 29-Apr-2019  christos 
 1.1.1.1 07-Apr-2018  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file dmtbdump1.c was added on branch pgoyette-compat on 2018-04-16 02:00:02 +0000
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.9 06-Jul-2021  christos Import acpica-20210604
 1.1.1.8 03-Apr-2021  christos branches: 1.1.1.8.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.7 25-May-2020  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 28-Mar-2020  christos 
 1.1.1.5 14-Dec-2019  christos 
 1.1.1.4 15-Oct-2019  christos 
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 18-Aug-2018  christos 
 1.1.1.1 07-Apr-2018  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.1.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file dmtbdump2.c was added on branch pgoyette-compat on 2018-04-16 02:00:02 +0000
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.7 06-Jul-2021  christos Import acpica-20210604
 1.1.1.6 03-Apr-2021  christos branches: 1.1.1.6.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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 14-Dec-2019  christos 
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 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.1 07-Apr-2018  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file dmtbdump3.c was added on branch pgoyette-compat on 2018-04-16 02:00:02 +0000
 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 01-Sep-2023  christos branches: 1.22.6;
merge conflicts between 20230628 and 20221020
 1.21 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.20 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.19 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 28-Mar-2020  christos branches: 1.18.4; 1.18.6;
merge conflicts
 1.17 29-Apr-2019  christos merge conflicts
 1.16 07-Apr-2018  christos branches: 1.16.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.15 12-Nov-2017  christos branches: 1.15.2;
merge conflicts
 1.14 15-Sep-2017  christos merge conflicts
 1.13 30-Apr-2017  christos merge conflicts
 1.12 25-Jan-2017  christos branches: 1.12.4;
merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 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.17 28-Mar-2020  christos 
 1.1.1.16 29-Apr-2019  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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dmtbinfo.c was added on branch jruoho-x86intr on 2011-06-06 09:08:49 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dmtbinfo.c was added on branch rmind-uvmplock on 2011-03-05 20:54:22 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dmtbinfo.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.7 28-Aug-2017  skrll Sync with HEAD
 1.6.2.6 05-Feb-2017  skrll Sync with HEAD
 1.6.2.5 05-Dec-2016  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.15.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.16.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.16.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.8 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.7 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.6 06-Jul-2021  christos Import acpica-20210604
 1.1.1.5 03-Apr-2021  christos branches: 1.1.1.5.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.4 27-Nov-2020  christos branches: 1.1.1.4.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.3 28-Mar-2020  christos branches: 1.1.1.3.4;
 1.1.1.2 29-Apr-2019  christos 
 1.1.1.1 07-Apr-2018  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.4.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file dmtbinfo1.c was added on branch pgoyette-compat on 2018-04-16 02:00:02 +0000
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.7 06-Jul-2021  christos Import acpica-20210604
 1.1.1.6 03-Apr-2021  christos branches: 1.1.1.6.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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 18-Aug-2018  christos 
 1.1.1.2 04-May-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 07-Apr-2018  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.4 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.1.2.3 21-May-2018  pgoyette Sync with HEAD
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file dmtbinfo2.c was added on branch pgoyette-compat on 2018-04-16 02:00:02 +0000
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.6 06-Jul-2021  christos Import acpica-20210604
 1.1.1.5 03-Apr-2021  christos branches: 1.1.1.5.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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 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.1 07-Apr-2018  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file dmtbinfo3.c was added on branch pgoyette-compat on 2018-04-16 02:00:02 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 getopt.c 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 getopt.c 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 getopt.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.3.16.1 18-May-2014  rmind sync with 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 Makefile 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 Makefile 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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 12-Nov-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 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.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 12-Nov-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 12-Nov-2017  jdolecek file aslallocate.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 14-Dec-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 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 
 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.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 aslanalyze.c 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 aslanalyze.c 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 aslanalyze.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 15-Sep-2017  jdolecek file aslascii.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 27-Nov-2020  christos branches: 1.1.1.13.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.12 28-Mar-2020  christos branches: 1.1.1.12.4;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 aslbtypes.c was added on branch jruoho-x86intr on 2011-06-06 09:08:49 +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 aslbtypes.c was added on branch rmind-uvmplock on 2011-03-05 20:54:23 +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 aslbtypes.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 12-Nov-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 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.6 28-Mar-2020  christos branches: 1.1.1.6.4; 1.1.1.6.6;
 1.1.1.5 15-Oct-2019  christos 
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 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.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 12-Nov-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 12-Nov-2017  jdolecek file aslcache.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos branches: 1.1.1.21.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 27-Nov-2020  christos branches: 1.1.1.17.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.16 28-Mar-2020  christos branches: 1.1.1.16.4;
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.17.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslcodegen.c 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 aslcodegen.c 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 aslcodegen.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.26 24-Aug-2025  christos merge our changes into 20250807
 1.25 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.24 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.23 01-Sep-2023  christos branches: 1.23.6;
merge conflicts between 20230628 and 20221020
 1.22 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.21 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.20 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.19 28-Mar-2020  christos branches: 1.19.4; 1.19.6;
merge conflicts
 1.18 14-Dec-2019  christos merge conflicts
 1.17 15-Oct-2019  christos merge conflicts
 1.16 29-Apr-2019  christos merge conflicts
 1.15 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 12-Nov-2017  christos branches: 1.13.2;
merge conflicts
 1.12 15-Sep-2017  christos merge conflicts
 1.11 30-Apr-2017  christos merge conflicts
 1.10 25-Jan-2017  christos branches: 1.10.4;
merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.25 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.24 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.23 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.22 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.21 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.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 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file aslcompile.c was added on branch jruoho-x86intr on 2011-06-06 09:08:49 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file aslcompile.c was added on branch rmind-uvmplock on 2011-03-05 20:54:23 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file aslcompile.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.13.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.23.6.1 02-Aug-2025  perseant Sync with HEAD
 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
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 27-Nov-2020  christos branches: 1.18.2;
merge conflicts
 1.17 02-Aug-2020  christos branches: 1.17.2;
merge conflicts
 1.16 25-May-2020  christos merge conflicts
 1.15 28-Mar-2020  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 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 12-Nov-2017  christos branches: 1.11.2;
merge conflicts
 1.10 15-Sep-2017  christos merge conflicts
 1.9 30-Apr-2017  christos merge conflicts
 1.8 25-Jan-2017  christos branches: 1.8.4;
merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.25 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.24 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.23 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.22 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 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.19 27-Nov-2020  christos 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.18 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.17 25-May-2020  christos 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.16 28-Mar-2020  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 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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.l 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.l 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.l was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.3.2.6 28-Aug-2017  skrll Sync with HEAD
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.17.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.17.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.3 25-Oct-2014  christos merge conflicts
 1.2 30-Dec-2013  christos Now that our yacc supports providing yytname[] and does the name protection
automatically (as it should, unlike bison), elide the name protection hacks.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.6 14-Dec-2019  christos 
 1.1.1.5 15-Oct-2019  christos 
 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.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.y was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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.y 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.y was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 15-Sep-2017  christos branches: 1.1.1.4.2; 1.1.1.4.4;
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 11-Nov-2016  christos branches: 1.1.1.2.2;
Import acpica-20160930:
 1.1.1.1 09-Jan-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4;
import new acpica:
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.2.1 15-Sep-2017  jdolecek file aslcstyle.y was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file aslcstyle.y was added on branch nick-nhusb on 2016-03-19 11:30:21 +0000
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 15-Oct-2019  christos 
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 12-Nov-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 15-Sep-2017  christos 
 1.1.1.3 30-Apr-2017  christos 
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.4;
One more time in the right place...
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
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.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 12-Nov-2017  jdolecek file asldebug.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.2.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file asldebug.c was added on branch nick-nhusb on 2016-05-29 08:44:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.25 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.24 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.23 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.22 01-Sep-2023  christos branches: 1.1.1.22.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 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.19 28-Mar-2020  christos branches: 1.1.1.19.4; 1.1.1.19.6;
 1.1.1.18 14-Dec-2019  christos 
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 07-Apr-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 12-Nov-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2; 1.1.1.9.4;
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.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.19.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.19.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  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 asldefine.h was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 asldefine.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 asldefine.h was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 02-Aug-2020  christos branches: 1.16.2; 1.16.4;
merge conflicts
 1.15 28-Mar-2020  christos merge conflicts
 1.14 14-Dec-2019  christos merge conflicts
 1.13 15-Oct-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 12-Nov-2017  christos branches: 1.9.2;
merge conflicts
 1.8 15-Sep-2017  christos merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.21 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.17 28-Mar-2020  christos 
 1.1.1.16 14-Dec-2019  christos 
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 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 
 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.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 aslerror.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslerror.c 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 aslerror.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 02-Aug-2020  christos branches: 1.1.1.8.2; 1.1.1.8.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.7 28-Mar-2020  christos 
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 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.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 15-Sep-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
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.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 15-Sep-2017  jdolecek file aslexternal.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file aslexternal.c was added on branch nick-nhusb on 2016-05-29 08:44:32 +0000
 1.16 24-Aug-2025  christos merge our changes into 20250807
 1.15 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.14 01-Sep-2023  christos branches: 1.14.6;
merge conflicts between 20230628 and 20221020
 1.13 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.12 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.11 28-Mar-2020  christos branches: 1.11.4; 1.11.6;
merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.8 07-Apr-2018  christos branches: 1.8.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.7 25-Jan-2017  christos branches: 1.7.12;
merge conflicts
 1.6 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 22-Mar-2014  tls file aslfileio.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.2.6.2 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.2.6.1 22-Mar-2014  yamt file aslfileio.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 22-Mar-2014  rmind file aslfileio.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.21 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.18 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 28-Mar-2020  christos branches: 1.16.4; 1.16.6;
merge conflicts
 1.15 14-Dec-2019  christos merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 12-Nov-2017  christos branches: 1.10.2;
merge conflicts
 1.9 30-Apr-2017  christos merge conflicts
 1.8 25-Jan-2017  christos branches: 1.8.4;
merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 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.17 28-Mar-2020  christos 
 1.1.1.16 14-Dec-2019  christos 
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslfiles.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslfiles.c 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 aslfiles.c was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.3.2.6 28-Aug-2017  skrll Sync with HEAD
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslfold.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslfold.c 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 aslfold.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.25 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.24 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.23 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.22 01-Sep-2023  christos branches: 1.1.1.22.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 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.19 28-Mar-2020  christos branches: 1.1.1.19.4; 1.1.1.19.6;
 1.1.1.18 15-Oct-2019  christos 
 1.1.1.17 29-Apr-2019  christos 
 1.1.1.16 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.15 18-Aug-2018  christos 
 1.1.1.14 04-May-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 15-Sep-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2; 1.1.1.9.4;
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.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.19.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.19.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.12.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  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 aslglobal.h was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslglobal.h was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslglobal.h was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 15-Oct-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 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.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 12-Nov-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 15-Sep-2017  christos 
 1.1.1.3 30-Apr-2017  christos 
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.4;
One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 12-Nov-2017  jdolecek file aslhelp.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.2.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file aslhelp.c was added on branch pgoyette-localcount on 2017-01-07 08:56:43 +0000
 1.1.1.1.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file aslhelp.c was added on branch nick-nhusb on 2016-12-05 10:55:21 +0000
 1.1 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 18-Aug-2018  christos 
 1.1.1.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 15-Sep-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 15-Sep-2017  jdolecek file aslhelpers.y was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file aslhelpers.y was added on branch pgoyette-localcount on 2017-01-07 08:56:43 +0000
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file aslhelpers.y was added on branch nick-nhusb on 2016-12-05 10:55:21 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 04-May-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 07-Apr-2018  christos 
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.5.12.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file aslhex.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file aslhex.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file aslhex.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 02-Aug-2020  christos branches: 1.1.1.9.2; 1.1.1.9.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.8 28-Mar-2020  christos 
 1.1.1.7 14-Dec-2019  christos 
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 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.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 15-Sep-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 15-Sep-2017  jdolecek file aslkeywords.y was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file aslkeywords.y was added on branch pgoyette-localcount on 2017-01-07 08:56:43 +0000
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file aslkeywords.y was added on branch nick-nhusb on 2016-12-05 10:55:21 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asllength.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 asllength.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 asllength.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asllisting.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 asllisting.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 asllisting.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 15-Oct-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 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.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file asllistsup.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file asllistsup.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file asllistsup.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.25 24-Aug-2025  christos merge our changes into 20250807
 1.24 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.23 01-Sep-2023  christos branches: 1.23.6;
merge conflicts between 20230628 and 20221020
 1.22 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.21 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.20 27-Nov-2020  christos branches: 1.20.2;
merge conflicts
 1.19 02-Aug-2020  christos branches: 1.19.2;
merge conflicts
 1.18 25-May-2020  christos merge conflicts
 1.17 28-Mar-2020  christos merge conflicts
 1.16 14-Dec-2019  christos 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 18-Aug-2018  christos merge conflicts
 1.11 05-May-2018  christos branches: 1.11.2;
merge acpica 20180427
 1.10 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.9 12-Nov-2017  christos branches: 1.9.2;
merge conflicts
 1.8 15-Sep-2017  christos merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 04-May-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 09-Jan-2016  christos merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 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 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.21 27-Nov-2020  christos 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.20 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.19 25-May-2020  christos 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 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 12-Nov-2017  christos 
 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 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslload.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslload.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslload.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.2.2 21-May-2018  pgoyette Sync with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.19.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.20.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.23.6.1 02-Aug-2025  perseant Sync with HEAD
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 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 
 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.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 asllookup.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 asllookup.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 asllookup.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.5 24-Aug-2025  christos merge our changes into 20250807
 1.4 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.3 01-Sep-2023  christos branches: 1.3.6;
merge conflicts between 20230628 and 20221020
 1.2 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 28-Mar-2020  christos branches: 1.1.1.18.4; 1.1.1.18.6;
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 18-Aug-2018  christos 
 1.1.1.13 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 25-Jan-2017  christos One more time in the right place...
 1.1.1.10 11-Nov-2016  christos branches: 1.1.1.10.2;
Import acpica-20160930:
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2;
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.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 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 aslmain.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslmain.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslmain.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.3.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.20 01-Sep-2023  christos branches: 1.1.1.20.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 27-Nov-2020  christos branches: 1.1.1.17.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.16 02-Aug-2020  christos branches: 1.1.1.16.2;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos import new acpica:
 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.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.17.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 aslmap.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslmap.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslmap.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 12-Nov-2017  jdolecek file aslmapenter.c was added on branch tls-maxphys on 2017-12-03 11:37:38 +0000
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file aslmapoutput.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 11-Nov-2016  christos branches: 1.1.1.4.2;
Import acpica-20160930:
 1.1.1.3 09-Jan-2016  christos branches: 1.1.1.3.2;
import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 12-Nov-2017  jdolecek file aslmaputils.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.4.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.25 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.24 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.23 01-Sep-2023  christos branches: 1.1.1.23.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 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.20 06-Jul-2021  christos Import acpica-20210604
 1.1.1.19 03-Apr-2021  christos branches: 1.1.1.19.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.18 27-Nov-2020  christos branches: 1.1.1.18.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.17 25-May-2020  christos branches: 1.1.1.17.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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 18-Aug-2018  christos 
 1.1.1.10 04-May-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 12-Nov-2017  christos branches: 1.1.1.8.2; 1.1.1.8.4;
 1.1.1.7 15-Sep-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.23.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.19.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.10.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.4.4 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.4.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.8.4.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.8.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.8.2.1 12-Nov-2017  jdolecek file aslmessages.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 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
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.16 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.15 02-Aug-2020  christos branches: 1.1.1.15.2; 1.1.1.15.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.14 28-Mar-2020  christos 
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file aslmethod.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file aslmethod.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file aslmethod.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 27-Nov-2020  christos branches: 1.1.1.13.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.12 28-Mar-2020  christos branches: 1.1.1.12.4;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 15-Oct-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.7.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file aslnamesp.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file aslnamesp.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file aslnamesp.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.4;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file asloffset.c was added on branch tls-maxphys on 2014-08-20 00:03:52 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file asloffset.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file asloffset.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 27-Nov-2020  christos branches: 1.13.2;
merge conflicts
 1.12 28-Mar-2020  christos branches: 1.12.4;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 15-Sep-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 04-May-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 09-Jan-2016  christos merge new acpica
 1.4 26-Aug-2015  christos CID 1320410: Don't call free on uninitalized pointer.
 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.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 27-Nov-2020  christos 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslopcodes.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslopcodes.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslopcodes.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos branches: 1.1.1.21.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 28-Mar-2020  christos branches: 1.1.1.18.4; 1.1.1.18.6;
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 04-May-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.7 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asloperands.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 asloperands.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 asloperands.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.14 24-Aug-2025  christos merge our changes into 20250807
 1.13 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.12 01-Sep-2023  christos branches: 1.12.6;
merge conflicts between 20230628 and 20221020
 1.11 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.10 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.9 28-Mar-2020  christos branches: 1.9.4; 1.9.6;
merge conflicts
 1.8 29-Apr-2019  christos merge conflicts
 1.7 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.6 07-Apr-2018  christos branches: 1.6.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.5 12-Nov-2017  christos branches: 1.5.2;
merge conflicts
 1.4 15-Sep-2017  christos merge conflicts
 1.3 25-Jan-2017  christos merge conflicts
 1.2 09-Oct-2016  christos branches: 1.2.2;
PR/51540: Henning Petersen: replace , with ;
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  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 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslopt.c was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +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 aslopt.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslopt.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.5.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 15-Oct-2019  christos merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.8 18-Aug-2018  christos merge conflicts
 1.7 07-Apr-2018  christos branches: 1.7.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.6 12-Nov-2017  christos branches: 1.6.2;
merge conflicts
 1.5 15-Sep-2017  christos merge conflicts
 1.4 30-Apr-2017  christos merge conflicts
 1.3 25-Jan-2017  christos branches: 1.3.4;
merge conflicts
 1.2 18-Dec-2016  christos branches: 1.2.2;
Fix repro build.
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.24 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.23 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.22 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 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.19 28-Mar-2020  christos 
 1.1.1.18 14-Dec-2019  christos 
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 18-Aug-2018  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.6.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.6.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.2.2.8 28-Aug-2017  skrll Sync with HEAD
 1.1.1.2.2.7 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.6 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file asloptions.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file asloptions.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file asloptions.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.6.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.6.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.7.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 27-Nov-2020  christos branches: 1.1.1.8.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.7 28-Mar-2020  christos branches: 1.1.1.7.4;
 1.1.1.6 15-Oct-2019  christos 
 1.1.1.5 29-Apr-2019  christos 
 1.1.1.4 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.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 12-Nov-2017  christos branches: 1.1.1.2.2; 1.1.1.2.4;
 1.1.1.1 15-Sep-2017  christos 
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.3.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.2.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.2.1 12-Nov-2017  jdolecek file aslparseop.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 18-Aug-2018  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file aslparser.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 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.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 15-Sep-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
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.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 15-Sep-2017  jdolecek file aslpld.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file aslpld.c was added on branch nick-nhusb on 2016-05-29 08:44:32 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 25-May-2020  christos branches: 1.13.2; 1.13.4;
merge conflicts
 1.12 28-Mar-2020  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 15-Sep-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 04-May-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 09-Jan-2016  christos merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 25-May-2020  christos 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos import new acpica:
 1.1.1.6 13-Apr-2015  christos 
 1.1.1.5 25-Oct-2014  christos 
 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.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 aslpredef.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslpredef.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslpredef.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 27-Nov-2020  christos branches: 1.14.2;
merge conflicts
 1.13 28-Mar-2020  christos branches: 1.13.4;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 25-Jan-2017  christos branches: 1.8.12;
merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 27-Nov-2020  christos 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.12 28-Mar-2020  christos 
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 07-Apr-2018  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 22-Mar-2014  tls file aslprepkg.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.2.6.2 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.2.6.1 22-Mar-2014  yamt file aslprepkg.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 22-Mar-2014  rmind file aslprepkg.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.14.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 27-Nov-2020  christos branches: 1.1.1.9.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.8 28-Mar-2020  christos branches: 1.1.1.8.4;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 18-Aug-2018  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 15-Sep-2017  christos branches: 1.1.1.4.2; 1.1.1.4.4;
 1.1.1.3 30-Apr-2017  christos 
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.4;
One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.2.1 15-Sep-2017  jdolecek file aslprimaries.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.2.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file aslprimaries.y was added on branch pgoyette-localcount on 2017-01-07 08:56:43 +0000
 1.1.1.1.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file aslprimaries.y was added on branch nick-nhusb on 2016-12-05 10:55:21 +0000
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 12-Nov-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 15-Sep-2017  christos 
 1.1.1.5 30-Apr-2017  christos 
 1.1.1.4 25-Jan-2017  christos branches: 1.1.1.4.4;
One more time in the right place...
 1.1.1.3 09-Jan-2016  christos branches: 1.1.1.3.2; 1.1.1.3.4;
import new acpica:
 1.1.1.2 18-Aug-2015  christos 
 1.1.1.1 13-Apr-2015  christos branches: 1.1.1.1.2;
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 12-Nov-2017  jdolecek file aslprintf.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.4.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.3.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.3 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.2.1 13-Apr-2015  skrll file aslprintf.c was added on branch nick-nhusb on 2015-06-06 14:40:15 +0000
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 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.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 25-Jan-2017  christos branches: 1.1.1.4.12; 1.1.1.4.14;
One more time in the right place...
 1.1.1.3 04-May-2016  christos branches: 1.1.1.3.2; 1.1.1.3.4;
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.2 09-Jan-2016  christos import new acpica:
 1.1.1.1 13-Apr-2015  christos branches: 1.1.1.1.2;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.14.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.4.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.12.1 25-Jan-2017  jdolecek file aslprune.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.3.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.2.1 13-Apr-2015  skrll file aslprune.c was added on branch nick-nhusb on 2015-06-06 14:40:15 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslresource.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslresource.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslresource.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 30-Apr-2017  christos 
 1.1.1.4 25-Jan-2017  christos branches: 1.1.1.4.4;
One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 04-May-2016  christos branches: 1.1.1.2.2;
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.1 09-Jan-2016  christos branches: 1.1.1.1.2;
import new acpica:
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 15-Sep-2017  jdolecek file aslresources.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.4.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file aslresources.y was added on branch nick-nhusb on 2016-03-19 11:30:21 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype1.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype1.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslrestype1.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype1i.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype1i.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslrestype1i.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 14-Dec-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype2.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype2.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslrestype2.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype2d.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype2d.c was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +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 aslrestype2d.c was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype2e.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype2e.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 aslrestype2e.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype2q.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype2q.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 aslrestype2q.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 14-Dec-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file aslrestype2s.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file aslrestype2s.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file aslrestype2s.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslrestype2w.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslrestype2w.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 aslrestype2w.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2; 1.1.1.8.4;
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.4;
One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.8.2.1 15-Sep-2017  jdolecek file aslrules.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.6.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 01-Sep-2023  christos branches: 1.1.1.22.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.21 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 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.17 28-Mar-2020  christos branches: 1.1.1.17.4; 1.1.1.17.6;
 1.1.1.16 14-Dec-2019  christos 
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.17.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aslstartup.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslstartup.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 aslstartup.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 25-Jan-2017  christos branches: 1.1.1.11.12;
One more time in the right place...
 1.1.1.10 11-Nov-2016  christos branches: 1.1.1.10.2;
Import acpica-20160930:
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2;
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.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 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 aslstubs.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslstubs.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 aslstubs.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
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 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos 
 1.1.1.9 12-Nov-2017  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 22-Mar-2014  tls file aslsupport.l was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.2.6.2 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.2.6.1 22-Mar-2014  yamt file aslsupport.l was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 22-Mar-2014  rmind file aslsupport.l was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.3.2.5 28-Aug-2017  skrll Sync with HEAD
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 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.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 15-Sep-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 09-Jan-2016  christos branches: 1.1.1.3.2; 1.1.1.3.4;
import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 15-Sep-2017  jdolecek file aslsupport.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.3.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 02-Aug-2020  christos branches: 1.1.1.12.2; 1.1.1.12.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file asltokens.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 18-Aug-2018  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.9.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asltransform.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 asltransform.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 asltransform.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
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 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 15-Sep-2017  christos branches: 1.11.2;
merge conflicts
 1.10 04-May-2017  christos Arrays can't be NULL
 1.9 30-Apr-2017  christos merge conflicts
 1.8 25-Jan-2017  christos branches: 1.8.4;
merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 27-Dec-2013  christos resolve conflicts
 1.2 09-Feb-2013  christos branches: 1.2.2;
CID/979998: missing va_end()
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.20.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.20.1 25-Feb-2013  tls resync with head
 1.1.1.2.10.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 asltree.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 asltree.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 asltree.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.2.2.1 18-May-2014  rmind sync with head
 1.4.2.5 28-Aug-2017  skrll Sync with HEAD
 1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.4.2 11-May-2017  pgoyette Sync with HEAD
 1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos branches: 1.1.1.21.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.20 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.19 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.18 28-Mar-2020  christos branches: 1.1.1.18.4; 1.1.1.18.6;
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 04-May-2018  christos branches: 1.1.1.15.2;
 1.1.1.14 07-Apr-2018  christos 
 1.1.1.13 12-Nov-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2; 1.1.1.9.4;
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.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.15.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  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 asltypes.h was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 asltypes.h was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 asltypes.h was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 18-Aug-2018  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file asltypes.y was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.35 24-Aug-2025  christos merge our changes into 20250807
 1.34 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.33 01-Sep-2023  christos branches: 1.33.6;
merge conflicts between 20230628 and 20221020
 1.32 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.31 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.30 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.29 06-Jul-2021  christos merge changes for acpica-20210604
 1.28 03-Apr-2021  christos branches: 1.28.2;
Merge local changes with acpica-20210331
 1.27 27-Nov-2020  christos branches: 1.27.2;
merge conflicts
 1.26 28-Mar-2020  christos branches: 1.26.4;
merge conflicts
 1.25 14-Dec-2019  christos merge conflicts
 1.24 15-Oct-2019  christos merge conflicts
 1.23 29-Apr-2019  christos merge conflicts
 1.22 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.21 05-May-2018  christos branches: 1.21.2;
merge acpica 20180427
 1.20 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.19 12-Nov-2017  christos branches: 1.19.2;
merge conflicts
 1.18 15-Sep-2017  christos merge conflicts
 1.17 06-Feb-2017  christos Remove __DATE__! Intel really likes non-reprodible builds!
 1.16 25-Jan-2017  christos merge conflicts
 1.15 11-Nov-2016  christos branches: 1.15.2;
Adjust to new acpica
 1.14 04-May-2016  christos branches: 1.14.2;
merge new acpica
 1.13 09-Jan-2016  christos merge new acpica
 1.12 18-Aug-2015  christos merge conflicts
 1.11 09-May-2015  christos CID 1256503: Handle memory leak
 1.10 13-Apr-2015  christos resolve conflicts.
 1.9 25-Oct-2014  christos branches: 1.9.2;
merge conflicts
 1.8 22-Mar-2014  christos kill sprintf
 1.7 18-Jan-2014  apb Use ACPI_DATE instead of __DATE__ in a version string that
ends up in the iasl executable. ACPI_DATE is defined in
sys/external/bsd/acpica/dist/include/acapps.h.
 1.6 27-Dec-2013  christos resolve conflicts
 1.5 09-Feb-2013  christos branches: 1.5.2;
CVS/979999: missing va_end()
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.28 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.27 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.26 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.25 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.24 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.23 06-Jul-2021  christos Import acpica-20210604
 1.1.1.22 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.21 27-Nov-2020  christos 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.20 28-Mar-2020  christos 
 1.1.1.19 14-Dec-2019  christos 
 1.1.1.18 15-Oct-2019  christos 
 1.1.1.17 29-Apr-2019  christos 
 1.1.1.16 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.15 04-May-2018  christos 
 1.1.1.14 07-Apr-2018  christos 
 1.1.1.13 12-Nov-2017  christos 
 1.1.1.12 15-Sep-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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file aslutils.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file aslutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file aslutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.4.12.3 03-Dec-2017  jdolecek update from HEAD
 1.4.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.12.1 25-Feb-2013  tls resync with head
 1.4.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.5.2.1 18-May-2014  rmind sync with head
 1.9.2.7 28-Aug-2017  skrll Sync with HEAD
 1.9.2.6 05-Feb-2017  skrll Sync with HEAD
 1.9.2.5 05-Dec-2016  skrll Sync with HEAD
 1.9.2.4 29-May-2016  skrll Sync with HEAD
 1.9.2.3 19-Mar-2016  skrll Sync with HEAD
 1.9.2.2 22-Sep-2015  skrll Sync with HEAD
 1.9.2.1 06-Jun-2015  skrll Sync with HEAD
 1.14.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.14.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.15.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.19.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.19.2.2 21-May-2018  pgoyette Sync with HEAD
 1.19.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.21.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.21.2.1 10-Jun-2019  christos Sync with HEAD
 1.26.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.26.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.27.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.28.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.33.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 06-Jul-2021  christos Import acpica-20210604
 1.1.1.11 03-Apr-2021  christos branches: 1.1.1.11.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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 asluuid.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 asluuid.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 asluuid.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 15-Oct-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 30-Apr-2017  christos merge conflicts
 1.7 25-Jan-2017  christos branches: 1.7.4;
merge conflicts
 1.6 04-May-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 09-Jan-2016  christos merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 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.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 aslwalks.c was added on branch jruoho-x86intr on 2011-06-06 09:08:51 +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 aslwalks.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 aslwalks.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.3.2.5 28-Aug-2017  skrll Sync with HEAD
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.25 24-Aug-2025  christos merge our changes into 20250807
 1.24 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.23 01-Sep-2023  christos branches: 1.23.6;
merge conflicts between 20230628 and 20221020
 1.22 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.21 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.20 27-Nov-2020  christos branches: 1.20.2;
merge conflicts
 1.19 02-Aug-2020  christos branches: 1.19.2;
merge conflicts
 1.18 25-May-2020  christos merge conflicts
 1.17 28-Mar-2020  christos merge conflicts
 1.16 14-Dec-2019  christos 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 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 04-May-2016  christos branches: 1.7.2;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 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.19 27-Nov-2020  christos 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.18 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.17 25-May-2020  christos 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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 04-May-2018  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 22-Mar-2014  tls file aslxref.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.2.6.2 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.2.6.1 22-Mar-2014  yamt file aslxref.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 22-Mar-2014  rmind file aslxref.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.3.2.6 05-Feb-2017  skrll Sync with HEAD
 1.3.2.5 05-Dec-2016  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 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.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.19.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.20.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.23.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 15-Oct-2019  christos 
 1.1.1.5 29-Apr-2019  christos 
 1.1.1.4 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.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.12; 1.1.1.2.14;
One more time in the right place...
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
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.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.14.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.2.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.12.1 25-Jan-2017  jdolecek file aslxrefout.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file aslxrefout.c was added on branch nick-nhusb on 2016-05-29 08:44:32 +0000
 1.1 30-Apr-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 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.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 12-Nov-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 15-Sep-2017  christos 
 1.1.1.1 30-Apr-2017  christos branches: 1.1.1.1.2; 1.1.1.1.8;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 12-Nov-2017  jdolecek file cvcompiler.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.1.8.2 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.8.1 30-Apr-2017  skrll file cvcompiler.c was added on branch nick-nhusb on 2017-08-28 17:52:32 +0000
 1.1.1.1.2.2 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.2.1 30-Apr-2017  pgoyette file cvcompiler.c was added on branch prg-localcount2 on 2017-05-02 03:19:20 +0000
 1.1 30-Apr-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 14-Dec-2019  christos 
 1.1.1.5 29-Apr-2019  christos 
 1.1.1.4 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.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 15-Sep-2017  christos branches: 1.1.1.2.2; 1.1.1.2.4;
 1.1.1.1 30-Apr-2017  christos branches: 1.1.1.1.2; 1.1.1.1.8;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.2.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.2.1 15-Sep-2017  jdolecek file cvdisasm.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.1.8.2 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.8.1 30-Apr-2017  skrll file cvdisasm.c was added on branch nick-nhusb on 2017-08-28 17:52:32 +0000
 1.1.1.1.2.2 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.2.1 30-Apr-2017  pgoyette file cvdisasm.c was added on branch prg-localcount2 on 2017-05-02 03:19:20 +0000
 1.1 30-Apr-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 14-Dec-2019  christos 
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 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.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 12-Nov-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 15-Sep-2017  christos 
 1.1.1.1 30-Apr-2017  christos branches: 1.1.1.1.2; 1.1.1.1.8;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 12-Nov-2017  jdolecek file cvparser.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.1.8.2 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.8.1 30-Apr-2017  skrll file cvparser.c was added on branch nick-nhusb on 2017-08-28 17:52:32 +0000
 1.1.1.1.2.2 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.2.1 30-Apr-2017  pgoyette file cvparser.c was added on branch prg-localcount2 on 2017-05-02 03:19:20 +0000
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 28-Mar-2020  christos branches: 1.16.4; 1.16.6;
merge conflicts
 1.15 14-Dec-2019  christos merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
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 25-Jan-2017  christos merge conflicts
 1.7 09-Jan-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 18-Aug-2015  christos merge conflicts
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 23-Mar-2014  tron Make this compile.
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 28-Mar-2020  christos 
 1.1.1.16 14-Dec-2019  christos 
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 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 
 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.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 dtcompile.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtcompile.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dtcompile.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.4.2.3 19-Mar-2016  skrll Sync with HEAD
 1.4.2.2 22-Sep-2015  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.28 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.27 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.26 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.25 01-Sep-2023  christos branches: 1.1.1.25.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.24 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.23 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.22 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.21 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.20 06-Jul-2021  christos Import acpica-20210604
 1.1.1.19 03-Apr-2021  christos branches: 1.1.1.19.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.18 28-Mar-2020  christos branches: 1.1.1.18.4; 1.1.1.18.6;
 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 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 12-Nov-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2;
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.25.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.19.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-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 dtcompiler.h was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtcompiler.h was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dtcompiler.h was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 15-Oct-2019  christos branches: 1.1.1;
Initial revision
 1.1.1.8 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.7 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.6 01-Sep-2023  christos branches: 1.1.1.6.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.5 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.4 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.3 28-Mar-2020  christos branches: 1.1.1.3.4; 1.1.1.3.6; 1.1.1.3.8;
 1.1.1.2 14-Dec-2019  christos 
 1.1.1.1 15-Oct-2019  christos 
 1.1.1.6.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.3.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.3.4.1 28-Mar-2020  martin file dtcompilerparser.l was added on branch phil-wifi on 2020-04-13 08:04:53 +0000
 1.1 24-Aug-2025  christos branches: 1.1.1;
Initial revision
 1.1.1.1 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.9 24-Aug-2025  christos merge our changes into 20250807
 1.8 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.7 01-Sep-2023  christos branches: 1.7.6;
merge conflicts between 20230628 and 20221020
 1.6 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.5 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.4 28-Mar-2020  christos branches: 1.4.4; 1.4.6; 1.4.8;
merge conflicts
 1.3 14-Dec-2019  christos merge conflicts
 1.2 15-Oct-2019  christos merge conflicts
 1.1 15-Oct-2019  christos branches: 1.1.1;
Initial revision
 1.1.1.8 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.7 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.6 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.5 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.4 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.3 28-Mar-2020  christos 
 1.1.1.2 14-Dec-2019  christos 
 1.1.1.1 15-Oct-2019  christos 
 1.4.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.4.1 28-Mar-2020  martin file dtcompilerparser.y was added on branch phil-wifi on 2020-04-13 08:04:53 +0000
 1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 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.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.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 dtexpress.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtexpress.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dtexpress.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 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 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.18 06-Jul-2021  christos merge changes for acpica-20210604
 1.17 03-Apr-2021  christos branches: 1.17.2;
Merge local changes with acpica-20210331
 1.16 28-Mar-2020  christos branches: 1.16.4; 1.16.6;
merge conflicts
 1.15 14-Dec-2019  christos merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
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 25-Jan-2017  christos merge conflicts
 1.7 11-Nov-2016  christos branches: 1.7.2;
Adjust to new acpica
 1.6 09-Jan-2016  christos branches: 1.6.2;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.24 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.23 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.20 06-Jul-2021  christos Import acpica-20210604
 1.1.1.19 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.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 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 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 
 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.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 dtfield.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtfield.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dtfield.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos branches: 1.1.1.21.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 06-Jul-2021  christos Import acpica-20210604
 1.1.1.17 03-Apr-2021  christos branches: 1.1.1.17.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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 12-Nov-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.17.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  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 dtio.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtio.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dtio.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 15-Oct-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 24-Aug-2025  christos branches: 1.1.1;
Initial revision
 1.1.1.1 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
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 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 12-Nov-2017  christos branches: 1.11.2;
merge conflicts
 1.10 15-Sep-2017  christos merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 04-May-2016  christos branches: 1.7.2;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 30-Dec-2013  christos Now that our yacc supports providing yytname[] and does the name protection
automatically (as it should, unlike bison), elide the name protection hacks.
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos 
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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.3.2.6 05-Feb-2017  skrll Sync with HEAD
 1.3.2.5 05-Dec-2016  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.17 24-Aug-2025  christos merge our changes into 20250807
 1.16 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.15 01-Sep-2023  christos branches: 1.15.6;
merge conflicts between 20230628 and 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 12-Nov-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 12-Nov-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 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 
 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.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 dtsubtable.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtsubtable.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dtsubtable.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 12-Nov-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 09-Jan-2016  christos branches: 1.7.2;
merge new acpica
 1.6 26-Aug-2015  christos CID 1298707: Change confusing code that makes coverity think that Length
is uninitalized (we want length to be zero so instead of setting it to 0,
we check if it not zero and then we set it if it is not?!?!)
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 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 
 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.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 dttable.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dttable.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dttable.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.12 06-Jul-2021  christos Import acpica-20210604
 1.1.1.11 03-Apr-2021  christos branches: 1.1.1.11.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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 18-Aug-2018  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 15-Sep-2017  christos 
 1.1.1.4 30-Apr-2017  christos 
 1.1.1.3 25-Jan-2017  christos branches: 1.1.1.3.4;
One more time in the right place...
 1.1.1.2 04-May-2016  christos branches: 1.1.1.2.2; 1.1.1.2.4;
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.1 09-Jan-2016  christos branches: 1.1.1.1.2;
import new acpica:
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 12-Nov-2017  jdolecek file dttable1.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.3.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file dttable1.c was added on branch nick-nhusb on 2016-03-19 11:30:22 +0000
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.12 06-Jul-2021  christos Import acpica-20210604
 1.1.1.11 03-Apr-2021  christos branches: 1.1.1.11.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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 14-Dec-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 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.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 12-Nov-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 15-Sep-2017  christos 
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 04-May-2016  christos branches: 1.1.1.2.2; 1.1.1.2.4;
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.1 09-Jan-2016  christos branches: 1.1.1.1.2;
import new acpica:
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 12-Nov-2017  jdolecek file dttable2.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file dttable2.c was added on branch nick-nhusb on 2016-03-19 11:30:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 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.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.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 dttemplate.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dttemplate.c was added on branch rmind-uvmplock on 2011-03-05 20:54:25 +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 dttemplate.c was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 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 branches: 1.1.1.24.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.23 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 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.20 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.19 06-Jul-2021  christos Import acpica-20210604
 1.1.1.18 03-Apr-2021  christos branches: 1.1.1.18.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.17 28-Mar-2020  christos branches: 1.1.1.17.4; 1.1.1.17.6;
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 18-Aug-2018  christos 
 1.1.1.14 07-Apr-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 12-Nov-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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.24.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.18.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.17.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.7 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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 dttemplate.h was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dttemplate.h was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dttemplate.h was added on branch bouyer-quota2 on 2011-02-17 12:00:20 +0000
 1.25 24-Aug-2025  christos merge our changes into 20250807
 1.24 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.23 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.22 01-Sep-2023  christos branches: 1.22.6;
merge conflicts between 20230628 and 20221020
 1.21 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.20 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.19 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.18 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.17 06-Jul-2021  christos merge changes for acpica-20210604
 1.16 03-Apr-2021  christos branches: 1.16.2;
Merge local changes with acpica-20210331
 1.15 25-May-2020  christos branches: 1.15.2; 1.15.4;
merge conflicts
 1.14 28-Mar-2020  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
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 25-Jan-2017  christos merge conflicts
 1.7 11-Nov-2016  christos branches: 1.7.2;
Adjust to new acpica
 1.6 09-Jan-2016  christos branches: 1.6.2;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 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 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 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.20 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.19 06-Jul-2021  christos Import acpica-20210604
 1.1.1.18 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.17 25-May-2020  christos 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.16 28-Mar-2020  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 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 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 
 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.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 dtutils.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 dtutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dtutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.2 24-Aug-2025  christos merge our changes into 20250807
 1.1 24-Aug-2025  christos branches: 1.1.1;
Initial revision
 1.1.1.1 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file new_table.txt was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file new_table.txt was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file new_table.txt was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file preprocess.h was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file preprocess.h was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file preprocess.h was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file prexpress.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file prexpress.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file prexpress.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 12-Nov-2017  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos 
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.7.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file prmacros.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file prmacros.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file prmacros.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 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.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file prparser.l was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file prparser.l was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file prparser.l was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 24-Aug-2025  christos branches: 1.1.1;
Initial revision
 1.1.1.1 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
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 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 12-Nov-2017  christos branches: 1.11.2;
merge conflicts
 1.10 15-Sep-2017  christos merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 04-May-2016  christos branches: 1.7.2;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 30-Dec-2013  christos branches: 1.2.4; 1.2.6; 1.2.10;
Now that our yacc supports providing yytname[] and does the name protection
automatically (as it should, unlike bison), elide the name protection hacks.
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 12-Nov-2017  christos 
 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 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 30-Dec-2013  tls file prparser.y was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.2.6.2 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.2.6.1 30-Dec-2013  yamt file prparser.y was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 30-Dec-2013  rmind file prparser.y was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.3.2.6 05-Feb-2017  skrll Sync with HEAD
 1.3.2.5 05-Dec-2016  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 12-Nov-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file prscan.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file prscan.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file prscan.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 12-Nov-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 09-Jan-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 18-Aug-2015  christos merge conflicts
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 23-Mar-2014  tron branches: 1.3.4; 1.3.6; 1.3.10;
Make this compile.
 1.2 22-Mar-2014  christos kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 07-Apr-2018  christos 
 1.1.1.7 12-Nov-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.3.10.3 03-Dec-2017  jdolecek update from HEAD
 1.3.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.1 23-Mar-2014  tls file prutils.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.3.6.2 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.3.6.1 23-Mar-2014  yamt file prutils.c was added on branch yamt-pagecache on 2014-05-22 11:40:38 +0000
 1.3.4.2 18-May-2014  rmind sync with head
 1.3.4.1 23-Mar-2014  rmind file prutils.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.4.2.3 19-Mar-2016  skrll Sync with HEAD
 1.4.2.2 22-Sep-2015  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 readme.txt was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +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 readme.txt was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 readme.txt was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 05-Sep-2023  christos branches: 1.18.6;
we don't have/need limits.h
 1.17 01-Sep-2023  christos merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 25-Jan-2017  christos branches: 1.11.12;
merge conflicts
 1.10 04-May-2016  christos branches: 1.10.2; 1.10.4;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos fix debugging build.
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dbcmds.c was added on branch jruoho-x86intr on 2011-06-06 09:08:52 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dbcmds.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dbcmds.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file dbconvert.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file dbconvert.c was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file dbconvert.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 02-Aug-2020  christos branches: 1.18.2; 1.18.4;
merge conflicts
 1.17 28-Mar-2020  christos merge conflicts
 1.16 14-Dec-2019  christos merge conflicts
 1.15 29-Apr-2019  christos merge conflicts
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 15-Sep-2017  christos branches: 1.13.2;
merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 09-Jan-2016  christos branches: 1.11.2; 1.11.4;
merge new acpica
 1.10 18-Aug-2015  christos merge conflicts
 1.9 13-Apr-2015  christos resolve conflicts.
 1.8 25-Oct-2014  christos branches: 1.8.2;
merge conflicts
 1.7 27-Dec-2013  christos resolve conflicts
 1.6 28-Jun-2011  jruoho branches: 1.6.2; 1.6.12; 1.6.16;
More __UNCONST(3).
 1.5 28-Jun-2011  jruoho Merge ACPICA 20110623.
 1.4 17-Feb-2011  jruoho branches: 1.4.2; 1.4.6;
Fix ACPI_DEBUG build.
 1.3 17-Feb-2011  jruoho branches: 1.3.2;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.14 28-Mar-2020  christos 
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dbdisply.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.4.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.6.1 17-Feb-2011  jruoho file dbdisply.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +0000
 1.4.2.2 05-Mar-2011  rmind sync with head
 1.4.2.1 17-Feb-2011  rmind file dbdisply.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +0000
 1.6.16.1 18-May-2014  rmind sync with head
 1.6.12.2 03-Dec-2017  jdolecek update from HEAD
 1.6.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.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.8.2.4 05-Feb-2017  skrll Sync with HEAD
 1.8.2.3 19-Mar-2016  skrll Sync with HEAD
 1.8.2.2 22-Sep-2015  skrll Sync with HEAD
 1.8.2.1 06-Jun-2015  skrll Sync with HEAD
 1.11.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 27-Nov-2020  christos branches: 1.18.2;
merge conflicts
 1.17 28-Mar-2020  christos branches: 1.17.4;
merge conflicts
 1.16 29-Apr-2019  christos merge conflicts
 1.15 07-Apr-2018  christos branches: 1.15.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.14 12-Nov-2017  christos branches: 1.14.2;
merge conflicts
 1.13 15-Sep-2017  christos merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 09-Jan-2016  christos branches: 1.10.2;
merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos fix debugging build.
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 27-Nov-2020  christos 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dbexec.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dbexec.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dbexec.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.7.2.5 05-Feb-2017  skrll Sync with HEAD
 1.7.2.4 05-Dec-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.15.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.17.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.17.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dbfileio.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dbfileio.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dbfileio.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 25-May-2020  christos branches: 1.1.1.13.2; 1.1.1.13.4;
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.12 28-Mar-2020  christos 
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dbhistry.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dbhistry.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dbhistry.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.28 24-Aug-2025  christos merge our changes into 20250807
 1.27 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.26 01-Sep-2023  christos branches: 1.26.6;
merge conflicts between 20230628 and 20221020
 1.25 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.24 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.23 27-Nov-2020  christos branches: 1.23.2;
merge conflicts
 1.22 18-Nov-2020  rin Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.21 28-Mar-2020  christos branches: 1.21.4;
merge conflicts
 1.20 14-Dec-2019  christos merge conflicts
 1.19 15-Oct-2019  christos merge conflicts
 1.18 29-Apr-2019  christos merge conflicts
 1.17 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.16 18-Aug-2018  christos merge conflicts
 1.15 07-Apr-2018  christos branches: 1.15.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.14 12-Nov-2017  christos branches: 1.14.2;
merge conflicts
 1.13 25-Jan-2017  christos merge conflicts
 1.12 11-Nov-2016  christos branches: 1.12.2;
Adjust to new acpica
 1.11 04-May-2016  christos branches: 1.11.2;
merge new acpica
 1.10 09-Jan-2016  christos merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos fix debugging build.
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.25 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.24 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.23 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 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 27-Nov-2020  christos 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 28-Mar-2020  christos 
 1.1.1.18 14-Dec-2019  christos 
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 18-Aug-2018  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dbinput.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dbinput.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dbinput.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.7.2.6 05-Feb-2017  skrll Sync with HEAD
 1.7.2.5 05-Dec-2016  skrll Sync with HEAD
 1.7.2.4 29-May-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.11.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.12.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.14.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.14.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.15.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.21.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.21.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.23.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.26.6.1 02-Aug-2025  perseant Sync with HEAD
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 27-Nov-2020  christos branches: 1.16.2;
merge conflicts
 1.15 28-Mar-2020  christos branches: 1.15.4;
merge conflicts
 1.14 14-Dec-2019  christos merge conflicts
 1.13 15-Oct-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 18-Aug-2018  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 30-Apr-2017  christos branches: 1.9.8;
merge conflicts
 1.8 25-Jan-2017  christos branches: 1.8.4;
merge conflicts
 1.7 11-Nov-2016  christos branches: 1.7.2;
Adjust to new acpica
 1.6 09-Jan-2016  christos branches: 1.6.2;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos fix debugging build.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 27-Nov-2020  christos 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.15 28-Mar-2020  christos 
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 18-Aug-2018  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos 
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 dbmethod.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dbmethod.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dbmethod.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.3.2.6 28-Aug-2017  skrll Sync with HEAD
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.9.8.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 14-Dec-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 18-Aug-2018  christos merge conflicts
 1.10 05-May-2018  christos branches: 1.10.2;
merge acpica 20180427
 1.9 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.8 25-Jan-2017  christos branches: 1.8.12;
merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos fix debugging build.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 18-Aug-2018  christos 
 1.1.1.10 04-May-2018  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos 
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 dbnames.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dbnames.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dbnames.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.12.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.8.12.2 21-May-2018  pgoyette Sync with HEAD
 1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 14-Dec-2019  christos 
 1.1.1.9 15-Oct-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 18-Aug-2018  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 15-Sep-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 18-Jul-2016  christos branches: 1.1.1.3.2;
27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 15-Sep-2017  jdolecek file dbobject.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Oct-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file dbobject.c was added on branch nick-nhusb on 2015-09-22 12:06:02 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 15-Oct-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dbstats.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dbstats.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dbstats.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.15 24-Aug-2025  christos merge our changes into 20250807
 1.14 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.13 01-Sep-2023  christos branches: 1.13.6;
merge conflicts between 20230628 and 20221020
 1.12 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.11 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.10 28-Mar-2020  christos branches: 1.10.4; 1.10.6;
merge conflicts
 1.9 29-Apr-2019  christos merge conflicts
 1.8 05-May-2018  christos branches: 1.8.2;
merge acpica 20180427
 1.7 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.6 25-Jan-2017  christos branches: 1.6.12; 1.6.14;
merge conflicts
 1.5 09-Jan-2016  christos branches: 1.5.2; 1.5.4;
merge new acpica
 1.4 18-Aug-2015  christos merge conflicts
 1.3 13-Apr-2015  christos resolve conflicts.
 1.2 25-Oct-2014  christos branches: 1.2.2;
merge conflicts
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 04-May-2018  christos 
 1.1.1.6 07-Apr-2018  christos 
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos 
 1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6.14.2 21-May-2018  pgoyette Sync with HEAD
 1.6.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.6.12.2 03-Dec-2017  jdolecek update from HEAD
 1.6.12.1 25-Jan-2017  jdolecek file dbtest.c was added on branch tls-maxphys on 2017-12-03 11:37:39 +0000
 1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 25-Jan-2017  christos branches: 1.11.12;
merge conflicts
 1.10 04-May-2016  christos branches: 1.10.2; 1.10.4;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dbutils.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dbutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dbutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 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 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  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 dbxface.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dbxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:26 +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 dbxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 27-Nov-2020  christos branches: 1.13.2;
merge conflicts
 1.12 25-May-2020  christos branches: 1.12.2;
merge conflicts
 1.11 28-Mar-2020  christos merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 15-Sep-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos 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 13-Apr-2015  christos resolve conflicts.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 27-Nov-2020  christos 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.15 25-May-2020  christos 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmbuffer.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dmbuffer.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmbuffer.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +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.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.12.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.17 24-Aug-2025  christos merge our changes into 20250807
 1.16 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.15 01-Sep-2023  christos branches: 1.15.6;
merge conflicts between 20230628 and 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 27-Nov-2020  christos branches: 1.12.2;
merge conflicts
 1.11 28-Mar-2020  christos branches: 1.11.4;
merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 30-Apr-2017  christos branches: 1.8.8; 1.8.10;
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 13-Apr-2015  christos branches: 1.2.2;
resolve conflicts.
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 27-Nov-2020  christos 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.10 28-Mar-2020  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.4 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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 18-Aug-2015  christos 
 1.1.1.1 13-Apr-2015  christos 
 1.2.2.8 28-Aug-2017  skrll Sync with HEAD
 1.2.2.7 05-Feb-2017  skrll Sync with HEAD
 1.2.2.6 05-Dec-2016  skrll Sync with HEAD
 1.2.2.5 29-May-2016  skrll Sync with HEAD
 1.2.2.4 19-Mar-2016  skrll Sync with HEAD
 1.2.2.3 22-Sep-2015  skrll Sync with HEAD
 1.2.2.2 06-Jun-2015  skrll Sync with HEAD
 1.2.2.1 13-Apr-2015  skrll file dmcstyle.c was added on branch nick-nhusb on 2015-06-06 14:40:16 +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.8.10.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.8.8.2 03-Dec-2017  jdolecek update from HEAD
 1.8.8.1 30-Apr-2017  jdolecek file dmcstyle.c was added on branch tls-maxphys on 2017-12-03 11:37:40 +0000
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.4;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file dmdeferred.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file dmdeferred.c was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file dmdeferred.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos branches: 1.1.1.9.8;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmnames.c was added on branch jruoho-x86intr on 2011-06-06 09:08:53 +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 dmnames.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmnames.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.2 18-Aug-2015  christos merge conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmobject.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dmobject.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmobject.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 29-Apr-2019  christos 
 1.1.1.14 07-Apr-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 15-Sep-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 30-Apr-2017  christos 
 1.1.1.11 25-Jan-2017  christos branches: 1.1.1.11.4;
One more time in the right place...
 1.1.1.10 11-Nov-2016  christos branches: 1.1.1.10.2;
Import acpica-20160930:
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.11.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.8.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.4.2.8 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.7 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmopcode.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dmopcode.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmopcode.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 09-Jan-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dmresrc.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dmresrc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dmresrc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.17 24-Aug-2025  christos merge our changes into 20250807
 1.16 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.15 01-Sep-2023  christos branches: 1.15.6;
merge conflicts between 20230628 and 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 09-Jan-2016  christos branches: 1.7.2;
merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dmresrcl.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dmresrcl.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dmresrcl.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 05-Dec-2016  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.17 24-Aug-2025  christos merge our changes into 20250807
 1.16 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.15 01-Sep-2023  christos branches: 1.15.6;
merge conflicts between 20230628 and 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 26-Oct-2016  christos branches: 1.7.2;
PR/51579: Henning Petersen: Fix more , -> ;
 1.6 09-Oct-2016  christos PR/51540: Henning Petersen: replace , with ;
 1.5 04-May-2016  christos branches: 1.5.2;
merge new acpica
 1.4 09-Jan-2016  christos merge new acpica
 1.3 13-Apr-2015  christos resolve conflicts.
 1.2 25-Oct-2014  christos branches: 1.2.2;
merge conflicts
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.5 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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file dmresrcl2.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file dmresrcl2.c was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file dmresrcl2.c was added on branch rmind-smpnet on 2014-05-18 17:45:49 +0000
 1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.2.2.4 05-Dec-2016  skrll Sync with HEAD
 1.2.2.3 29-May-2016  skrll Sync with HEAD
 1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.1 04-Nov-2016  pgoyette Sync with HEAD
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmresrcs.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dmresrcs.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmresrcs.c was added on branch bouyer-quota2 on 2011-02-17 12:00:21 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos branches: 1.1.1.9.8;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.8.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmutils.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dmutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 30-Apr-2017  christos merge conflicts
 1.7 25-Jan-2017  christos branches: 1.7.4;
merge conflicts
 1.6 18-Jul-2016  christos branches: 1.6.2;
merge conflicts.
 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 1256502: missing lint fallthrough comment
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.7 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dmwalk.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dmwalk.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dmwalk.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.1 26-Jul-2016  pgoyette Sync with HEAD
 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.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 dsargs.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dsargs.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dsargs.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 12-Nov-2017  christos branches: 1.9.2;
merge conflicts
 1.8 30-Apr-2017  christos merge conflicts
 1.7 25-Jan-2017  christos branches: 1.7.4;
merge conflicts
 1.6 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 27-Dec-2013  christos resolve conflicts
 1.2 17-Feb-2011  jruoho branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.20; 1.2.24;
__UNCONST(3).
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 12-Nov-2017  christos 
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos 
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho Import 20110211.
 1.2.24.1 18-May-2014  rmind sync with head
 1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.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.2.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.2.8.1 17-Feb-2011  jruoho file dscontrol.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +0000
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 17-Feb-2011  rmind file dscontrol.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +0000
 1.2.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 17-Feb-2011  bouyer file dscontrol.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 18-Aug-2018  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 15-Sep-2017  christos branches: 1.1.1.4.2; 1.1.1.4.4;
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2; 1.1.1.2.4;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.2.1 15-Sep-2017  jdolecek file dsdebug.c was added on branch tls-maxphys on 2017-12-03 11:37:40 +0000
 1.1.1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file dsdebug.c was added on branch nick-nhusb on 2015-09-22 12:06:02 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos branches: 1.1.1.20.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.17 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.16 25-May-2020  christos branches: 1.1.1.16.2; 1.1.1.16.4;
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.15 28-Mar-2020  christos 
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dsfield.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dsfield.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dsfield.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dsinit.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dsinit.c was added on branch rmind-uvmplock on 2011-03-05 20:54:27 +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 dsinit.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dsmethod.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dsmethod.c was added on branch rmind-uvmplock on 2011-03-05 20:54:28 +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 dsmethod.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos branches: 1.1.1.8.8;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dsmthdat.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dsmthdat.c was added on branch rmind-uvmplock on 2011-03-05 20:54:28 +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 dsmthdat.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 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 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 12-Nov-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dsobject.c was added on branch jruoho-x86intr on 2011-06-06 09:08:54 +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 dsobject.c was added on branch rmind-uvmplock on 2011-03-05 20:54:28 +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 dsobject.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 14-Dec-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 30-Apr-2017  christos merge conflicts
 1.8 25-Jan-2017  christos branches: 1.8.4;
merge conflicts
 1.7 09-Jan-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 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.14 28-Mar-2020  christos 
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos 
 1.1.1.9 15-Sep-2017  christos 
 1.1.1.8 30-Apr-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file dsopcode.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file dsopcode.c was added on branch rmind-uvmplock on 2011-03-05 20:54:28 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file dsopcode.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.5.2.4 28-Aug-2017  skrll Sync with HEAD
 1.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.10 24-Aug-2025  christos merge our changes into 20250807
 1.9 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.8 01-Sep-2023  christos branches: 1.8.6;
merge conflicts between 20230628 and 20221020
 1.7 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.6 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.5 28-Mar-2020  christos branches: 1.5.4; 1.5.6;
merge conflicts
 1.4 29-Apr-2019  christos merge conflicts
 1.3 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.2 07-Apr-2018  christos branches: 1.2.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos 
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 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.2 07-Apr-2018  christos 
 1.1.1.1 15-Sep-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.1.4.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 15-Sep-2017  jdolecek file dspkginit.c was added on branch tls-maxphys on 2017-12-03 11:37:40 +0000
 1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
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 18-Jul-2016  christos branches: 1.6.2;
merge conflicts.
 1.5 09-Jan-2016  christos branches: 1.5.2;
merge new acpica
 1.4 26-Aug-2015  christos CID 1292510: Handle allocation failure.
 1.3 18-Aug-2015  christos merge conflicts
 1.2 09-May-2015  christos CID 1292510: Check allocation
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  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 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Oct-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dsutils.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 dsutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 dsutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.1 26-Jul-2016  pgoyette Sync with HEAD
 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.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.5 24-Aug-2025  christos merge our changes into 20250807
 1.4 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.3 01-Sep-2023  christos branches: 1.3.6;
merge conflicts between 20230628 and 20221020
 1.2 16-Sep-2022  msaitoh Fix out of range access in AcpiDsExecEndOp().

- Found by kUBSan.
- See: https://github.com/acpica/acpica/pull/745
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos branches: 1.1.1.12.2;
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.1 18-Sep-2022  martin Pull up following revision(s) (requested by msaitoh in ticket #1527):

sys/external/bsd/acpica/dist/dispatcher/dswexec.c: revision 1.2

Fix out of range access in AcpiDsExecEndOp().

- Found by kUBSan.
- See: https://github.com/acpica/acpica/pull/745
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dswexec.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 dswexec.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 dswexec.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.3.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  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 dswload.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 dswload.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 dswload.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 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 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 12-Nov-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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 dswload2.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 dswload2.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 dswload2.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 04-May-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dswscope.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 dswscope.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 dswscope.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 dswstate.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 dswstate.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 dswstate.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evevent.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evevent.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evevent.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evgpe.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evgpe.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evgpe.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evgpeblk.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evgpeblk.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evgpeblk.c was added on branch bouyer-quota2 on 2011-02-17 12:00:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.12;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evgpeinit.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evgpeinit.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evgpeinit.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evgpeutil.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evgpeutil.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evgpeutil.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file evhandler.c was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file evhandler.c was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file evhandler.c was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 evmisc.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evmisc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evmisc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 27-Nov-2020  christos branches: 1.12.2;
merge conflicts
 1.11 28-Mar-2020  christos branches: 1.11.4;
merge conflicts
 1.10 14-Dec-2019  christos merge conflicts
 1.9 17-May-2019  christos use a union cast to assert alignment of string constant.
 1.8 29-Apr-2019  christos merge conflicts
 1.7 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.6 07-Apr-2018  christos branches: 1.6.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.5 12-Nov-2017  christos branches: 1.5.2;
merge conflicts
 1.4 25-Jan-2017  christos merge conflicts
 1.3 04-May-2016  christos branches: 1.3.2; 1.3.4;
merge new acpica
 1.2 09-Jan-2016  christos merge new acpica
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.23 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.22 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 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.16 27-Nov-2020  christos 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.15 28-Mar-2020  christos 
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 12-Nov-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos import new acpica:
 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.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 evregion.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evregion.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evregion.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.3.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.3.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.5.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.18 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.17 27-Nov-2020  christos branches: 1.17.2;
merge conflicts
 1.16 28-Mar-2020  christos branches: 1.16.4;
merge conflicts
 1.15 14-Dec-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 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 25-Jan-2017  christos branches: 1.11.12;
merge conflicts
 1.10 11-Nov-2016  christos branches: 1.10.2;
Adjust to new acpica
 1.9 04-May-2016  christos branches: 1.9.2;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 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.16 27-Nov-2020  christos 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.15 28-Mar-2020  christos 
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos import new acpica:
 1.1.1.6 13-Apr-2015  christos 
 1.1.1.5 25-Oct-2014  christos 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file evrgnini.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file evrgnini.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file evrgnini.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 05-Dec-2016  skrll Sync with HEAD
 1.6.2.3 29-May-2016  skrll Sync with HEAD
 1.6.2.2 19-Mar-2016  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evsci.c was added on branch jruoho-x86intr on 2011-06-06 09:08:55 +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 evsci.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evsci.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 15-Oct-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 09-Jan-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 17-Feb-2011  jruoho branches: 1.4.2; 1.4.4; 1.4.8; 1.4.10; 1.4.20; 1.4.24;
Merge ACPICA 20110211.
 1.3 17-Feb-2011  jruoho Revert the change made by cegger@ to the GPE reference counting.
The forthcoming version includes a rewritten GPE handling, so it
is unclear how relevant and safe this change is. If needed, this
will be re-applied later.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 15-Oct-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.4.24.1 18-May-2014  rmind sync with head
 1.4.20.2 03-Dec-2017  jdolecek update from HEAD
 1.4.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.10.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.4.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.8.1 17-Feb-2011  jruoho file evxface.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +0000
 1.4.4.2 05-Mar-2011  rmind sync with head
 1.4.4.1 17-Feb-2011  rmind file evxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +0000
 1.4.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.4.2.1 17-Feb-2011  bouyer file evxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.6.2.3 05-Feb-2017  skrll Sync with HEAD
 1.6.2.2 19-Mar-2016  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 evxfevnt.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 evxfevnt.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evxfevnt.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  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 evxfgpe.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 evxfgpe.c was added on branch rmind-uvmplock on 2011-03-05 20:54:29 +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 evxfgpe.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.12.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.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 evxfregn.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 evxfregn.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 evxfregn.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 15-Sep-2017  christos branches: 1.1.1.4.2; 1.1.1.4.4;
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 11-Nov-2016  christos branches: 1.1.1.2.2;
Import acpica-20160930:
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4;
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.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.2.1 15-Sep-2017  jdolecek file exconcat.c was added on branch tls-maxphys on 2017-12-03 11:37:40 +0000
 1.1.1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file exconcat.c was added on branch nick-nhusb on 2016-05-29 08:44:33 +0000
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.21 01-Sep-2023  christos branches: 1.21.6;
merge conflicts between 20230628 and 20221020
 1.20 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.19 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.18 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 28-Mar-2020  christos branches: 1.16.4; 1.16.6;
merge conflicts
 1.15 15-Oct-2019  christos merge conflicts
 1.14 29-Apr-2019  christos merge conflicts
 1.13 18-Aug-2018  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 25-Jan-2017  christos branches: 1.11.12;
merge conflicts
 1.10 11-Nov-2016  christos branches: 1.10.2;
Adjust to new acpica
 1.9 04-May-2016  christos branches: 1.9.2;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.19 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 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.15 28-Mar-2020  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file exconfig.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file exconfig.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file exconfig.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.5.2.6 05-Feb-2017  skrll Sync with HEAD
 1.5.2.5 05-Dec-2016  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.11.12.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.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exconvrt.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 exconvrt.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exconvrt.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  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 excreate.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 excreate.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 excreate.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 09-Jan-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file exdebug.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file exdebug.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file exdebug.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 15-Sep-2017  christos branches: 1.11.2;
merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file exdump.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file exdump.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file exdump.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.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.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos branches: 1.1.1.20.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.19 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 06-Jul-2021  christos Import acpica-20210604
 1.1.1.15 03-Apr-2021  christos branches: 1.1.1.15.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.14 25-May-2020  christos branches: 1.1.1.14.2; 1.1.1.14.4;
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.13 28-Mar-2020  christos 
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exfield.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 exfield.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exfield.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.12;
One more time in the right place...
 1.1.1.9 18-Jul-2016  christos branches: 1.1.1.9.2;
27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exfldio.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 exfldio.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exfldio.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.7 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exmisc.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 exmisc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exmisc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exmutex.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 exmutex.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exmutex.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos branches: 1.1.1.10.8;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exnames.c was added on branch jruoho-x86intr on 2011-06-06 09:08:56 +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 exnames.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exnames.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exoparg1.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exoparg1.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exoparg1.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exoparg2.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exoparg2.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exoparg2.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exoparg3.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exoparg3.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exoparg3.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos branches: 1.1.1.8.8;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exoparg6.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exoparg6.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exoparg6.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 02-Aug-2020  christos branches: 1.1.1.11.2; 1.1.1.11.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.10 28-Mar-2020  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exprep.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exprep.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exprep.c was added on branch bouyer-quota2 on 2011-02-17 12:00:23 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exregion.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exregion.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exregion.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exresnte.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exresnte.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exresnte.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos 
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exresolv.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exresolv.c was added on branch rmind-uvmplock on 2011-03-05 20:54:30 +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 exresolv.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exresop.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exresop.c was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 exresop.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 05-Jan-2019  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.6 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.5 06-Jul-2021  christos Import acpica-20210604
 1.1.1.4 03-Apr-2021  christos branches: 1.1.1.4.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.3 28-Mar-2020  christos branches: 1.1.1.3.4; 1.1.1.3.6;
 1.1.1.2 29-Apr-2019  christos branches: 1.1.1.2.2;
 1.1.1.1 05-Jan-2019  christos branches: 1.1.1.1.2;
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.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.3.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.3 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.2.1 29-Apr-2019  christos file exserial.c was added on branch phil-wifi on 2019-06-10 22:07:40 +0000
 1.1.1.1.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.2.1 05-Jan-2019  pgoyette file exserial.c was added on branch pgoyette-compat on 2019-01-18 08:50:46 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos branches: 1.1.1.8.8;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exstore.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exstore.c was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 exstore.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos branches: 1.1.1.8.8;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exstoren.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exstoren.c was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 exstoren.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exstorob.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exstorob.c was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 exstorob.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.6 24-Aug-2025  christos merge our changes into 20250807
 1.5 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.4 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.3 01-Sep-2023  christos branches: 1.3.6;
merge conflicts between 20230628 and 20221020
 1.2 07-Dec-2022  gutteridge exsystem.c: revert ACPI warning about sleep values >10ms

acpica 20220331 introduced the following change:

For the ASL Sleep() operator, issue a warning if the sleep value is
greater than 10 Milliseconds. Quick boottime is important, so warn about
sleeps greater than 10 ms. Distribution Linux kernels reach initrd in 350
ms, so excessive delays should be called out. 10 ms is chosen randomly,
but three of such delays would already make up ten percent of the
boottime.

This can generate many console messages like:
[ 26.055036] ACPI Warning: Firmware issue: Excessive sleep time (0x0000000000000064 ms > 10 ms) in ACPI Control Method (20220331/exsystem-239)
(60 of them in the latest boot on one older Ivy Bridge laptop.)

This has been reverted upstream and is not present in the next release.
https://github.com/acpica/acpica/commit/df896f452f945d498736c5775d4ee6629df31786
(Also previously reverted in FreeBSD and Linux.)
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exsystem.c was added on branch jruoho-x86intr on 2011-06-06 09:08:57 +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 exsystem.c was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 exsystem.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.3.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.11 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.10 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.9 01-Sep-2023  christos branches: 1.1.1.9.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.8 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.7 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.6 28-Mar-2020  christos branches: 1.1.1.6.4; 1.1.1.6.6;
 1.1.1.5 29-Apr-2019  christos 
 1.1.1.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 25-Jan-2017  christos branches: 1.1.1.3.12; 1.1.1.3.14;
One more time in the right place...
 1.1.1.2 11-Nov-2016  christos branches: 1.1.1.2.2;
Import acpica-20160930:
 1.1.1.1 09-Jan-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4;
import new acpica:
 1.1.1.9.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.12.1 25-Jan-2017  jdolecek file extrace.c was added on branch tls-maxphys on 2017-12-03 11:37:40 +0000
 1.1.1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file extrace.c was added on branch nick-nhusb on 2016-03-19 11:30:22 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.12;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 exutils.c was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 exutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 exutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 28-Mar-2020  christos 
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.62.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file files.lnt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 files.lnt was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 files.lnt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 28-Mar-2020  christos 
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.62.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file lint.bat was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 lint.bat was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 lint.bat was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file lset.bat was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 lset.bat was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 lset.bat was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.3 28-Jun-2011  jruoho 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.2.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.2.8.1 17-Feb-2011  jruoho file options.lnt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 options.lnt was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 options.lnt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 28-Mar-2020  christos 
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.62.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file readme.txt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 readme.txt was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 readme.txt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 28-Mar-2020  christos 
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.62.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file std16.lnt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 std16.lnt was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 std16.lnt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 27-Nov-2020  christos 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.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.74;
Reimport ACPICA 20100528 to a new location.
 1.1.1.1.74.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file std32.lnt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 std32.lnt was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 std32.lnt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.3 27-Nov-2020  christos 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.2 28-Mar-2020  christos branches: 1.1.1.2.4;
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Reimport ACPICA 20100528 to a new location.
 1.1.1.2.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.1.62.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file std64.lnt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 std64.lnt was added on branch rmind-uvmplock on 2011-03-05 20:54:31 +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 std64.lnt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.6 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.5 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.4 27-Nov-2020  christos 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.3 02-Aug-2020  christos branches: 1.1.1.3.2;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.3.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file build.sh was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file build.sh was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file build.sh was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.2 27-Nov-2020  christos 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.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.48;
import new acpica
 1.1.1.1.48.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file release.sh was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file release.sh was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file release.sh was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.2.16.1 18-May-2014  rmind sync with 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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:32 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.4 15-Sep-2017  christos 
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 04-May-2016  christos branches: 1.1.1.2.2; 1.1.1.2.4;
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.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
import new acpica
 1.1.1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.12.2 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.12.1 29-May-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file Makefile.common was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file Makefile.common was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file Makefile.common was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 10-Dec-2022  christos branches: 1.1.1.15.8;
Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.14 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.13 28-Mar-2020  christos 
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.4;
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.8;
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.7 09-Jan-2016  christos 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.15.8.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.4.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.8.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.4.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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 Makefile.config was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 Makefile.config was added on branch rmind-uvmplock on 2011-03-05 20:54:32 +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 Makefile.config was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.3 15-Sep-2017  christos 
 1.1.1.2 18-Aug-2015  christos 
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
import new acpica
 1.1.1.1.12.1 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file Makefile.rules was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file Makefile.rules was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file Makefile.rules was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 28-Jun-2011  jruoho 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.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file readme.txt was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 readme.txt was added on branch rmind-uvmplock on 2011-03-05 20:54:32 +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 readme.txt was added on branch bouyer-quota2 on 2011-02-17 12:00:24 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.5 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.1 29-May-2016  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.9 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.8 28-Mar-2020  christos 
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.4;
 1.1.1.6 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2;
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.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.7.4.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file Makefile was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.8 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.7 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.6 15-Sep-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4; 1.1.1.6.6;
 1.1.1.5 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 18-Aug-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.6.6.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 15-Sep-2017  jdolecek file Makefile was added on branch tls-maxphys on 2017-12-03 11:37:41 +0000
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 22-Sep-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 10-Dec-2022  christos branches: 1.1.1.15.8;
Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.14 28-Mar-2020  christos 
 1.1.1.13 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.12 12-Nov-2017  christos branches: 1.1.1.12.2; 1.1.1.12.4;
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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.15.8.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:32 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:25 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.7 27-Nov-2020  christos 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.6 25-Jan-2017  christos branches: 1.1.1.6.26;
One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 18-Aug-2015  christos branches: 1.1.1.4.2;
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.6.26.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.1 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.7 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 18-Aug-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.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.1 22-Sep-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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:08:58 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:32 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:25 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2;
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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-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.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 22-Sep-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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:25 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 12-Nov-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.6;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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.13.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.6.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:25 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwacpi.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwacpi.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwacpi.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.15 24-Aug-2025  christos merge our changes into 20250807
 1.14 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.13 01-Sep-2023  christos branches: 1.13.6;
merge conflicts between 20230628 and 20221020
 1.12 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.11 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.10 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.9 28-Mar-2020  christos branches: 1.9.4; 1.9.6;
merge conflicts
 1.8 29-Apr-2019  christos merge conflicts
 1.7 07-Apr-2018  christos branches: 1.7.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.6 25-Jan-2017  christos branches: 1.6.12;
merge conflicts
 1.5 09-Jan-2016  christos branches: 1.5.2; 1.5.4;
merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos branches: 1.2.4; 1.2.6; 1.2.10;
resolve conflicts
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.9 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.8 28-Mar-2020  christos 
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos 
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 27-Dec-2013  tls file hwesleep.c was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.2.6.2 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.2.6.1 27-Dec-2013  yamt file hwesleep.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 27-Dec-2013  rmind file hwesleep.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.3.2.3 05-Feb-2017  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwgpe.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwgpe.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwgpe.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 hwpci.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwpci.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwpci.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.14 24-Aug-2025  christos merge our changes into 20250807
 1.13 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.12 01-Sep-2023  christos branches: 1.12.6;
merge conflicts between 20230628 and 20221020
 1.11 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.10 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.9 28-Mar-2020  christos branches: 1.9.4; 1.9.6;
merge conflicts
 1.8 29-Apr-2019  christos merge conflicts
 1.7 18-Aug-2018  christos merge conflicts
 1.6 07-Apr-2018  christos branches: 1.6.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.5 15-Sep-2017  christos branches: 1.5.2;
merge conflicts
 1.4 25-Jan-2017  christos merge conflicts
 1.3 18-Jul-2016  christos branches: 1.3.2;
merge conflicts.
 1.2 25-May-2016  christos branches: 1.2.2;
Apply patch https://github.com/acpica/acpica/commit/\
c450c13615f7af0673230041da4216b3de5bc4d3.patch

This patch fixes 2 issues in AccessWidth/BitOffset support and adds
comments to justify the BitOffset/BitWidth style macro usages. Lv Zheng.

This patch introduces ACPI_IS_ALIGNED() macro. Lv Zheng.

The old register descriptors are translated in AcpiTbInitGenericAddress()
with AccessWidth being filled with 0. This breaks code in
AcpiHwGetAccessBitWidth() when the registers are 16-bit IO ports and their
BitWidth fields are filled with 16. The rapid fix is meant to make code
written for AcpiHwGetAccessBitWidth() regression safer before the issue is
correctly fixed from AcpiTbInitGenericAddress(). Reported by
John Baldwin <jhb@freebsd.org>, Fixed by Lv Zheng <lv.zheng@intel.com>,
Tested by Jung-uk Kim <jkim@freebsd.org>.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Oct-2016  skrll Sync with HEAD
 1.1.1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwregs.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwregs.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwregs.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.12 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.11 28-Mar-2020  christos branches: 1.11.4; 1.11.6;
merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.8 18-Aug-2018  christos merge conflicts
 1.7 07-Apr-2018  christos branches: 1.7.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.6 25-Jan-2017  christos branches: 1.6.12;
merge conflicts
 1.5 09-Jan-2016  christos branches: 1.5.2; 1.5.4;
merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 18-Aug-2018  christos 
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwsleep.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwsleep.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwsleep.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.3.2.3 05-Feb-2017  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.6.12.3 18-Jan-2019  pgoyette Synch with HEAD
 1.6.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwtimer.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwtimer.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwtimer.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos branches: 1.1.1.8.8;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwvalid.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwvalid.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwvalid.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 hwxface.c was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 hwxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 hwxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 14-Dec-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 18-Aug-2018  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos branches: 1.2.4; 1.2.6; 1.2.10;
resolve conflicts
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 18-Aug-2018  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 27-Dec-2013  tls file hwxfsleep.c was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.2.6.2 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.2.6.1 27-Dec-2013  yamt file hwxfsleep.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 27-Dec-2013  rmind file hwxfsleep.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos add a reminder to update the date
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.18 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 28-Mar-2020  christos branches: 1.16.4; 1.16.6;
merge conflicts
 1.15 29-Apr-2019  christos merge conflicts
 1.14 05-May-2018  christos branches: 1.14.2;
merge acpica 20180427
 1.13 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.12 12-Nov-2017  christos branches: 1.12.2;
merge conflicts
 1.11 15-Sep-2017  christos merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 11-Nov-2016  christos branches: 1.9.2;
Adjust to new acpica
 1.8 09-Jan-2016  christos branches: 1.8.2;
merge new acpica
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 18-Jan-2014  apb Update ACPI_DATE to "18 Dec 2013", because acpica version 20131218
was imported on 27 Dec 2013.
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 19-Feb-2012  christos branches: 1.3.2; 1.3.4;
Use the release date as suggested.
XXX: I bet this is going to be broken in the next import because nobody
will remember to fix it.
 1.2 19-Feb-2012  christos Fix for MKREPRO = yes
XXX: pullup to 6
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 04-May-2018  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 12-Nov-2017  christos 
 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 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.14; 1.1.1.2.16;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.16.1 24-Feb-2012  riz Pull up following revision(s) (requested by go in ticket #48):
external/bsd/acpica/bin/iasl/Makefile: revision 1.5
sys/external/bsd/acpica/dist/include/acapps.h: revision 1.2
Fix MKREPRO = yes
XXX: pullup to 6
Fix for MKREPRO = yes
XXX: pullup to 6
Use the release date as suggested.
XXX: I bet this is going to be broken in the next import because nobody
will remember to fix it.
 1.1.1.2.14.1 24-Feb-2012  mrg sync to -current.
 1.1.1.2.10.2 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.10.1 17-Apr-2012  yamt sync with head
 1.1.1.2.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.2.8.1 17-Feb-2011  jruoho file acapps.h was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 acapps.h was added on branch rmind-uvmplock on 2011-03-05 20:54:33 +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 acapps.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.3.4.1 18-May-2014  rmind sync with head
 1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.3.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.4 05-Feb-2017  skrll Sync with HEAD
 1.6.2.3 05-Dec-2016  skrll Sync with HEAD
 1.6.2.2 19-Mar-2016  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.2.2 21-May-2018  pgoyette Sync with HEAD
 1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 06-Jul-2021  christos Import acpica-20210604
 1.1.1.9 03-Apr-2021  christos branches: 1.1.1.9.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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file acbuffer.h was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file acbuffer.h was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file acbuffer.h was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 25-Jan-2017  christos branches: 1.1.1.4.12; 1.1.1.4.14;
One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.12.1 25-Jan-2017  jdolecek file acclib.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file acclib.h was added on branch nick-nhusb on 2015-09-22 12:06:03 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 accommon.h was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 accommon.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 accommon.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.24 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.23 01-Sep-2023  christos branches: 1.1.1.23.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.22 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 06-Jul-2021  christos Import acpica-20210604
 1.1.1.19 03-Apr-2021  christos branches: 1.1.1.19.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.18 27-Nov-2020  christos branches: 1.1.1.18.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.17 28-Mar-2020  christos branches: 1.1.1.17.4;
 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 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
import new acpica:
 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.23.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.19.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 acconfig.h was added on branch jruoho-x86intr on 2011-06-06 09:08:59 +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 acconfig.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acconfig.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.1 30-Apr-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.9 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.8 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.7 01-Sep-2023  christos branches: 1.1.1.7.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.6 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.5 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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 30-Apr-2017  christos branches: 1.1.1.1.2; 1.1.1.1.8; 1.1.1.1.12; 1.1.1.1.14;
 1.1.1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 30-Apr-2017  jdolecek file acconvert.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.1.8.2 28-Aug-2017  skrll Sync with HEAD
 1.1.1.1.8.1 30-Apr-2017  skrll file acconvert.h was added on branch nick-nhusb on 2017-08-28 17:52:32 +0000
 1.1.1.1.2.2 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.1.2.1 30-Apr-2017  pgoyette file acconvert.h was added on branch prg-localcount2 on 2017-05-02 03:19:21 +0000
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 27-Nov-2020  christos branches: 1.18.2;
merge conflicts
 1.17 28-Mar-2020  christos branches: 1.17.4;
merge conflicts
 1.16 14-Dec-2019  christos merge conflicts
 1.15 29-Apr-2019  christos merge conflicts
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 12-Nov-2017  christos branches: 1.13.2;
merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 09-Jan-2016  christos branches: 1.10.2;
merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos fix debugging build.
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 27-Nov-2020  christos 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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acdebug.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acdebug.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acdebug.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.7.2.5 05-Feb-2017  skrll Sync with HEAD
 1.7.2.4 05-Dec-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.17.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.17.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.30 24-Aug-2025  christos merge our changes into 20250807
 1.29 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.28 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.27 01-Sep-2023  christos branches: 1.27.6;
merge conflicts between 20230628 and 20221020
 1.26 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.25 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.24 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.23 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.22 06-Jul-2021  christos merge changes for acpica-20210604
 1.21 03-Apr-2021  christos branches: 1.21.2;
Merge local changes with acpica-20210331
 1.20 28-Mar-2020  christos branches: 1.20.4; 1.20.6;
merge conflicts
 1.19 29-Apr-2019  christos merge conflicts
 1.18 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.17 18-Aug-2018  christos merge conflicts
 1.16 07-Apr-2018  christos branches: 1.16.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.15 12-Nov-2017  christos branches: 1.15.2;
merge conflicts
 1.14 15-Sep-2017  christos merge conflicts
 1.13 30-Apr-2017  christos merge conflicts
 1.12 25-Jan-2017  christos branches: 1.12.4;
merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.29 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.28 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.27 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.26 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.25 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 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 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.21 06-Jul-2021  christos Import acpica-20210604
 1.1.1.20 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.19 28-Mar-2020  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 18-Aug-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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acdisasm.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acdisasm.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acdisasm.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.7 28-Aug-2017  skrll Sync with HEAD
 1.6.2.6 05-Feb-2017  skrll Sync with HEAD
 1.6.2.5 05-Dec-2016  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.15.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.15.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.15.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.16.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.16.2.1 10-Jun-2019  christos Sync with HEAD
 1.20.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.27.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acdispat.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 acdispat.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acdispat.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.12;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos import new acpica:
 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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 acevents.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 acevents.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acevents.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 27-Nov-2020  christos branches: 1.14.2;
merge conflicts
 1.13 28-Mar-2020  christos branches: 1.13.4;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 18-Aug-2018  christos merge conflicts
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 12-Nov-2017  christos branches: 1.8.2;
merge conflicts
 1.7 15-Sep-2017  christos merge conflicts
 1.6 25-Jan-2017  christos merge conflicts
 1.5 09-Jan-2016  christos branches: 1.5.2; 1.5.4;
merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 27-Nov-2020  christos 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 18-Aug-2018  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 12-Nov-2017  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acexcep.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 acexcep.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acexcep.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.3.2.3 05-Feb-2017  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.8.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.14.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.30 24-Aug-2025  christos merge our changes into 20250807
 1.29 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.28 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.27 01-Sep-2023  christos branches: 1.27.6;
merge conflicts between 20230628 and 20221020
 1.26 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.25 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.24 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.23 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.22 25-May-2020  christos branches: 1.22.2; 1.22.4;
merge conflicts
 1.21 28-Mar-2020  christos merge conflicts
 1.20 15-Oct-2019  christos merge conflicts
 1.19 29-Apr-2019  christos merge conflicts
 1.18 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.17 07-Apr-2018  christos branches: 1.17.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.16 15-Sep-2017  christos branches: 1.16.2;
merge conflicts
 1.15 30-Apr-2017  christos merge conflicts
 1.14 25-Jan-2017  christos branches: 1.14.4;
merge conflicts
 1.13 11-Nov-2016  christos branches: 1.13.2;
Adjust to new acpica
 1.12 18-Jul-2016  christos merge conflicts.
 1.11 04-May-2016  christos branches: 1.11.2;
merge new acpica
 1.10 09-Jan-2016  christos merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos resolve conflicts
 1.5 02-Jun-2012  dsl branches: 1.5.2; 1.5.4;
Add some pre-processor magic to verify that the type of the data item
passed to sysctl_createv() actually matches the declared type for
the item itself.
In the places where the caller specifies a function and a structure
address (typically the 'softc') an explicit (void *) cast is now needed.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting
AcpiGbl_EnableAmlDebugObject.
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
I've test built quite a few kernels, but there may be some unfixed MD
fallout. Most likely passing &char[] to char *.
Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.
 1.4 28-Jun-2011  jruoho branches: 1.4.2;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.28 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.27 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.26 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.25 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.24 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.23 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.22 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 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 25-May-2020  christos 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.19 28-Mar-2020  christos 
 1.1.1.18 15-Oct-2019  christos 
 1.1.1.17 29-Apr-2019  christos 
 1.1.1.16 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.15 07-Apr-2018  christos 
 1.1.1.14 15-Sep-2017  christos 
 1.1.1.13 30-Apr-2017  christos 
 1.1.1.12 25-Jan-2017  christos One more time in the right place...
 1.1.1.11 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.10 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acglobal.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acglobal.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acglobal.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.4.2.2 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.4.2.1 30-Oct-2012  yamt sync with head
 1.5.4.1 18-May-2014  rmind sync with head
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.8 28-Aug-2017  skrll Sync with HEAD
 1.7.2.7 05-Feb-2017  skrll Sync with HEAD
 1.7.2.6 05-Dec-2016  skrll Sync with HEAD
 1.7.2.5 05-Oct-2016  skrll Sync with HEAD
 1.7.2.4 29-May-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.11.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.13.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.16.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.16.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.17.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.17.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.22.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.27.6.1 02-Aug-2025  perseant Sync with HEAD
 1.4 24-Aug-2025  christos merge our changes into 20250807
 1.3 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.2 01-Sep-2023  christos branches: 1.2.6;
merge conflicts between 20230628 and 20221020
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 achware.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 achware.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 achware.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.2.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 09-Jan-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acinterp.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acinterp.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acinterp.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.28 24-Aug-2025  christos merge our changes into 20250807
 1.27 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.26 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.25 01-Sep-2023  christos branches: 1.25.6;
merge conflicts between 20230628 and 20221020
 1.24 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.23 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.22 18-Nov-2020  rin branches: 1.22.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.21 28-Mar-2020  christos branches: 1.21.4;
merge conflicts
 1.20 15-Oct-2019  christos merge conflicts
 1.19 29-Apr-2019  christos merge conflicts
 1.18 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.17 18-Aug-2018  christos merge conflicts
 1.16 07-Apr-2018  christos branches: 1.16.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.15 12-Nov-2017  christos branches: 1.15.2;
merge conflicts
 1.14 15-Sep-2017  christos merge conflicts
 1.13 30-Apr-2017  christos merge conflicts
 1.12 25-Jan-2017  christos branches: 1.12.4;
merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.24 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.23 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 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 18-Aug-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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file aclocal.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file aclocal.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file aclocal.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.7 28-Aug-2017  skrll Sync with HEAD
 1.6.2.6 05-Feb-2017  skrll Sync with HEAD
 1.6.2.5 05-Dec-2016  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.15.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.15.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.15.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.16.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.16.2.1 10-Jun-2019  christos Sync with HEAD
 1.21.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.21.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.22.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.25.6.1 02-Aug-2025  perseant Sync with HEAD
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.18 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.17 28-Mar-2020  christos branches: 1.17.4; 1.17.6;
merge conflicts
 1.16 29-Apr-2019  christos merge conflicts
 1.15 07-Apr-2018  christos branches: 1.15.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.14 12-Nov-2017  christos branches: 1.14.2;
merge conflicts
 1.13 30-Apr-2017  christos merge conflicts
 1.12 25-Jan-2017  christos branches: 1.12.4;
merge conflicts
 1.11 18-Jul-2016  christos branches: 1.11.2;
merge conflicts.
 1.10 25-May-2016  christos branches: 1.10.2;
Apply patch https://github.com/acpica/acpica/commit/\
c450c13615f7af0673230041da4216b3de5bc4d3.patch

This patch fixes 2 issues in AccessWidth/BitOffset support and adds
comments to justify the BitOffset/BitWidth style macro usages. Lv Zheng.

This patch introduces ACPI_IS_ALIGNED() macro. Lv Zheng.

The old register descriptors are translated in AcpiTbInitGenericAddress()
with AccessWidth being filled with 0. This breaks code in
AcpiHwGetAccessBitWidth() when the registers are 16-bit IO ports and their
BitWidth fields are filled with 16. The rapid fix is meant to make code
written for AcpiHwGetAccessBitWidth() regression safer before the issue is
correctly fixed from AcpiTbInitGenericAddress(). Reported by
John Baldwin <jhb@freebsd.org>, Fixed by Lv Zheng <lv.zheng@intel.com>,
Tested by Jung-uk Kim <jkim@freebsd.org>.
 1.9 04-May-2016  christos merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acmacros.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acmacros.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acmacros.h was added on branch bouyer-quota2 on 2011-02-17 12:00:26 +0000
 1.5.2.7 28-Aug-2017  skrll Sync with HEAD
 1.5.2.6 05-Feb-2017  skrll Sync with HEAD
 1.5.2.5 05-Oct-2016  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.14.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.15.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.17.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 04-May-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.9.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acnames.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 acnames.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acnames.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 28-Mar-2020  christos branches: 1.18.4; 1.18.6;
merge conflicts
 1.17 15-Oct-2019  christos merge conflicts
 1.16 29-Apr-2019  christos merge conflicts
 1.15 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.14 18-Aug-2018  christos merge conflicts
 1.13 07-Apr-2018  christos branches: 1.13.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.12 12-Nov-2017  christos branches: 1.12.2;
merge conflicts
 1.11 25-Jan-2017  christos merge conflicts
 1.10 11-Nov-2016  christos branches: 1.10.2;
Adjust to new acpica
 1.9 04-May-2016  christos branches: 1.9.2;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 28-Mar-2020  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 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acnamesp.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acnamesp.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acnamesp.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.5.2.6 05-Feb-2017  skrll Sync with HEAD
 1.5.2.5 05-Dec-2016  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.12.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.13.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acobject.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 acobject.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acobject.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos 
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acopcode.h was added on branch jruoho-x86intr on 2011-06-06 09:09:00 +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 acopcode.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acopcode.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 19-Dec-2021  christos PR/56544: Andreas Gustafsson: Disable ACPI_LV_DEBUG_OBJECT; it is too chatty,
and was disabled in the previous version.
 1.14 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.9 18-Aug-2018  christos merge conflicts
 1.8 07-Apr-2018  christos branches: 1.8.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.7 25-Jan-2017  christos branches: 1.7.12;
merge conflicts
 1.6 18-Sep-2016  christos branches: 1.6.2;
need const otherwise we get a const qual error from the opcode printing
function that returns const char *.
 1.5 14-Aug-2016  joerg ACPI_TRACE_ENTRY adds const for the type argument, so don't duplicate it
in ACPI_FUNCTION_TRACE_STR.
 1.4 04-Aug-2016  jakllsch Avoid 'const const'.
 1.3 18-Jul-2016  christos merge conflicts.
 1.2 04-May-2016  christos branches: 1.2.2;
merge new acpica
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acoutput.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 acoutput.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acoutput.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.2.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.2 06-Aug-2016  pgoyette Sync with HEAD
 1.2.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.12.3 18-Jan-2019  pgoyette Synch with HEAD
 1.7.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.12;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acparser.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 acparser.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acparser.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acpi.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 acpi.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acpi.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 25-Jan-2017  christos branches: 1.11.12;
merge conflicts
 1.10 11-Nov-2016  christos branches: 1.10.2;
Adjust to new acpica
 1.9 09-Jan-2016  christos branches: 1.9.2;
merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acpiosxf.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acpiosxf.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acpiosxf.h was added on branch bouyer-quota2 on 2011-02-17 12:00:27 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 05-Dec-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.12.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.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.38 24-Aug-2025  christos merge our changes into 20250807
 1.37 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.36 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.35 01-Sep-2023  christos branches: 1.35.6;
merge conflicts between 20230628 and 20221020
 1.34 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.33 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.32 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.31 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.30 06-Jul-2021  christos merge changes for acpica-20210604
 1.29 03-Apr-2021  christos branches: 1.29.2;
Merge local changes with acpica-20210331
 1.28 27-Nov-2020  christos branches: 1.28.2;
merge conflicts
 1.27 02-Aug-2020  christos branches: 1.27.2;
merge conflicts
 1.26 25-May-2020  christos merge conflicts
 1.25 28-Mar-2020  christos merge conflicts
 1.24 14-Dec-2019  christos merge conflicts
 1.23 15-Oct-2019  christos merge conflicts
 1.22 29-Apr-2019  christos merge conflicts
 1.21 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.20 18-Aug-2018  christos merge conflicts
 1.19 05-May-2018  christos branches: 1.19.2;
merge acpica 20180427
 1.18 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.17 12-Nov-2017  christos branches: 1.17.2;
merge conflicts
 1.16 15-Sep-2017  christos merge conflicts
 1.15 30-Apr-2017  christos merge conflicts
 1.14 25-Jan-2017  christos branches: 1.14.4;
merge conflicts
 1.13 11-Nov-2016  christos branches: 1.13.2;
Adjust to new acpica
 1.12 18-Jul-2016  christos merge conflicts.
 1.11 04-May-2016  christos branches: 1.11.2;
merge new acpica
 1.10 09-Jan-2016  christos merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos resolve conflicts
 1.5 02-Jun-2012  dsl branches: 1.5.2; 1.5.4;
Add some pre-processor magic to verify that the type of the data item
passed to sysctl_createv() actually matches the declared type for
the item itself.
In the places where the caller specifies a function and a structure
address (typically the 'softc') an explicit (void *) cast is now needed.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting
AcpiGbl_EnableAmlDebugObject.
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
I've test built quite a few kernels, but there may be some unfixed MD
fallout. Most likely passing &char[] to char *.
Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.
 1.4 28-Jun-2011  jruoho branches: 1.4.2;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.36 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.35 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.34 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.33 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.32 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.31 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.30 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.29 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.28 06-Jul-2021  christos Import acpica-20210604
 1.1.1.27 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.26 27-Nov-2020  christos 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.25 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.24 25-May-2020  christos 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.23 28-Mar-2020  christos 
 1.1.1.22 14-Dec-2019  christos 
 1.1.1.21 15-Oct-2019  christos 
 1.1.1.20 29-Apr-2019  christos 
 1.1.1.19 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.18 18-Aug-2018  christos 
 1.1.1.17 04-May-2018  christos 
 1.1.1.16 07-Apr-2018  christos 
 1.1.1.15 12-Nov-2017  christos 
 1.1.1.14 15-Sep-2017  christos 
 1.1.1.13 30-Apr-2017  christos 
 1.1.1.12 25-Jan-2017  christos One more time in the right place...
 1.1.1.11 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.10 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acpixf.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acpixf.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acpixf.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.4.2.2 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.4.2.1 30-Oct-2012  yamt sync with head
 1.5.4.1 18-May-2014  rmind sync with head
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.2.8 28-Aug-2017  skrll Sync with HEAD
 1.7.2.7 05-Feb-2017  skrll Sync with HEAD
 1.7.2.6 05-Dec-2016  skrll Sync with HEAD
 1.7.2.5 05-Oct-2016  skrll Sync with HEAD
 1.7.2.4 29-May-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.11.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.13.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.17.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.17.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.17.2.2 21-May-2018  pgoyette Sync with HEAD
 1.17.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.19.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.2.1 10-Jun-2019  christos Sync with HEAD
 1.27.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.27.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.28.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.29.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.35.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 27-Nov-2020  christos branches: 1.1.1.16.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.15 25-May-2020  christos branches: 1.1.1.15.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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2; 1.1.1.9.4;
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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  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 acpredef.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 acpredef.h was added on branch rmind-uvmplock on 2011-03-05 20:54:34 +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 acpredef.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 04-May-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 09-Jan-2016  christos merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file acresrc.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file acresrc.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file acresrc.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.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 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acrestyp.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 acrestyp.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acrestyp.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acstruct.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 acstruct.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acstruct.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 15-Sep-2017  christos branches: 1.11.2;
merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 11-Nov-2016  christos branches: 1.9.2;
Adjust to new acpica
 1.8 04-May-2016  christos branches: 1.8.2;
merge new acpica
 1.7 09-Jan-2016  christos merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file actables.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file actables.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file actables.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 05-Dec-2016  skrll Sync with HEAD
 1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 07-Apr-2018  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.7 06-Jul-2021  christos Import acpica-20210604
 1.1.1.6 03-Apr-2021  christos branches: 1.1.1.6.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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 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.2 18-Aug-2018  christos 
 1.1.1.1 07-Apr-2018  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.1.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.4.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.1.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.1.2.2 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.1 07-Apr-2018  pgoyette file actbinfo.h was added on branch pgoyette-compat on 2018-04-16 02:00:05 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 actbl.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +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 actbl.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 actbl.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.25 24-Aug-2025  christos merge our changes into 20250807
 1.24 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.23 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.22 01-Sep-2023  christos branches: 1.22.6;
merge conflicts between 20230628 and 20221020
 1.21 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.20 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.19 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.18 06-Jul-2021  christos merge changes for acpica-20210604
 1.17 03-Apr-2021  christos branches: 1.17.2;
Merge local changes with acpica-20210331
 1.16 27-Nov-2020  christos branches: 1.16.2;
merge conflicts
 1.15 28-Mar-2020  christos branches: 1.15.4;
merge conflicts
 1.14 29-Apr-2019  christos merge conflicts
 1.13 07-Apr-2018  christos branches: 1.13.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.12 12-Nov-2017  christos branches: 1.12.2;
merge conflicts
 1.11 15-Sep-2017  christos merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.21 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.20 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.17 06-Jul-2021  christos Import acpica-20210604
 1.1.1.16 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.15 27-Nov-2020  christos 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file actbl1.h was added on branch jruoho-x86intr on 2011-06-06 09:09:01 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file actbl1.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file actbl1.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.22.6.1 02-Aug-2025  perseant Sync with HEAD
 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 branches: 1.1.1.24.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.23 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 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.20 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.19 06-Jul-2021  christos Import acpica-20210604
 1.1.1.18 03-Apr-2021  christos branches: 1.1.1.18.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.17 28-Mar-2020  christos branches: 1.1.1.17.4; 1.1.1.17.6;
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 18-Aug-2018  christos 
 1.1.1.14 07-Apr-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 12-Nov-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2; 1.1.1.9.4;
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.24.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.18.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.17.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  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 actbl2.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 actbl2.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 actbl2.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file actbl3.h was added on branch tls-maxphys on 2014-08-20 00:03:54 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file actbl3.h was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file actbl3.h was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.32 24-Aug-2025  christos merge our changes into 20250807
 1.31 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.30 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.29 01-Sep-2023  christos branches: 1.29.6;
merge conflicts between 20230628 and 20221020
 1.28 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.27 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.26 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.25 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.24 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.23 27-Nov-2020  christos branches: 1.23.2;
merge conflicts
 1.22 02-Aug-2020  christos branches: 1.22.2;
merge conflicts
 1.21 28-Mar-2020  christos merge conflicts
 1.20 15-Oct-2019  christos merge conflicts
 1.19 17-May-2019  christos use a union cast to assert alignment of string constant.
 1.18 29-Apr-2019  christos merge conflicts
 1.17 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.16 23-May-2018  joerg branches: 1.16.2;
Replace null pointer arithmethic with direct cast
 1.15 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.14 12-Nov-2017  christos branches: 1.14.2;
merge conflicts
 1.13 15-Sep-2017  christos merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.29 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.28 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.27 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.26 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.25 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 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 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 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 27-Nov-2020  christos 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 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.18 28-Mar-2020  christos 
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 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.14 07-Apr-2018  christos 
 1.1.1.13 12-Nov-2017  christos 
 1.1.1.12 15-Sep-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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file actypes.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file actypes.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file actypes.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.6 05-Feb-2017  skrll Sync with HEAD
 1.6.2.5 05-Dec-2016  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.14.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.14.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.16.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.16.2.1 10-Jun-2019  christos Sync with HEAD
 1.22.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.22.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.23.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.29.6.1 02-Aug-2025  perseant Sync with HEAD
 1.29 24-Aug-2025  christos merge our changes into 20250807
 1.28 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.27 01-Sep-2023  christos branches: 1.27.6;
merge conflicts between 20230628 and 20221020
 1.26 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.25 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.24 06-Jul-2021  christos merge changes for acpica-20210604
 1.23 03-Apr-2021  christos branches: 1.23.2;
Merge local changes with acpica-20210331
 1.22 28-Mar-2020  christos branches: 1.22.4; 1.22.6;
merge conflicts
 1.21 14-Dec-2019  christos merge conflicts
 1.20 15-Oct-2019  christos merge conflicts
 1.19 29-Apr-2019  christos merge conflicts
 1.18 18-Aug-2018  christos merge conflicts
 1.17 07-Apr-2018  christos branches: 1.17.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.16 12-Nov-2017  christos branches: 1.16.2;
merge conflicts
 1.15 15-Sep-2017  christos merge conflicts
 1.14 25-Jan-2017  christos merge conflicts
 1.13 11-Nov-2016  christos branches: 1.13.2;
Adjust to new acpica
 1.12 18-Jul-2016  christos merge conflicts.
 1.11 04-May-2016  christos branches: 1.11.2;
merge new acpica
 1.10 09-Jan-2016  christos merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 25-Oct-2014  christos branches: 1.7.2;
merge conflicts
 1.6 27-Dec-2013  christos resolve conflicts
 1.5 17-Feb-2011  jruoho branches: 1.5.2; 1.5.6; 1.5.8; 1.5.18; 1.5.22;
Fix ACPI_DEBUG build.
 1.4 17-Feb-2011  jruoho branches: 1.4.2;
Sigh. Why some people are unable to write proper C?
 1.3 17-Feb-2011  jruoho Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.24 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.23 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.22 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.21 06-Jul-2021  christos Import acpica-20210604
 1.1.1.20 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.19 28-Mar-2020  christos 
 1.1.1.18 14-Dec-2019  christos 
 1.1.1.17 15-Oct-2019  christos 
 1.1.1.16 29-Apr-2019  christos 
 1.1.1.15 18-Aug-2018  christos 
 1.1.1.14 07-Apr-2018  christos 
 1.1.1.13 12-Nov-2017  christos 
 1.1.1.12 15-Sep-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 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.4.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.4.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.4.2.1 17-Feb-2011  bouyer file acutils.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.5.22.1 18-May-2014  rmind sync with head
 1.5.18.2 03-Dec-2017  jdolecek update from HEAD
 1.5.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.8.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.5.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.5.6.1 17-Feb-2011  jruoho file acutils.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +0000
 1.5.2.2 05-Mar-2011  rmind sync with head
 1.5.2.1 17-Feb-2011  rmind file acutils.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +0000
 1.7.2.7 05-Feb-2017  skrll Sync with HEAD
 1.7.2.6 05-Dec-2016  skrll Sync with HEAD
 1.7.2.5 05-Oct-2016  skrll Sync with HEAD
 1.7.2.4 29-May-2016  skrll Sync with HEAD
 1.7.2.3 19-Mar-2016  skrll Sync with HEAD
 1.7.2.2 22-Sep-2015  skrll Sync with HEAD
 1.7.2.1 06-Jun-2015  skrll Sync with HEAD
 1.11.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.13.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.16.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.16.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.17.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.17.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.22.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.23.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.27.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 27-Nov-2020  christos branches: 1.1.1.8.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.7 28-Mar-2020  christos branches: 1.1.1.7.4;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 15-Sep-2017  christos branches: 1.1.1.4.2; 1.1.1.4.4;
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2; 1.1.1.2.4;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.2.1 15-Sep-2017  jdolecek file acuuid.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file acuuid.h was added on branch nick-nhusb on 2015-09-22 12:06:03 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
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 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.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 amlcode.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 amlcode.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 amlcode.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.8 24-Aug-2025  christos merge our changes into 20250807
 1.7 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.6 01-Sep-2023  christos branches: 1.6.6;
merge conflicts between 20230628 and 20221020
 1.5 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.4 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.3 28-Mar-2020  christos branches: 1.3.4; 1.3.6;
merge conflicts
 1.2 28-May-2019  kamil Use pack attribute for AML_RESOURCE in acpica

This fixes kUBSan warnings.

Patch by Akul Pillai.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 amlresrc.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 amlresrc.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 amlresrc.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.3.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 accygwin.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 accygwin.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 accygwin.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 15-Sep-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 13-Apr-2015  christos branches: 1.1.1.1.2;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 15-Sep-2017  jdolecek file acdragonfly.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.2.1 13-Apr-2015  skrll file acdragonfly.h was added on branch nick-nhusb on 2015-06-06 14:40:17 +0000
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.11 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.10 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.9 01-Sep-2023  christos branches: 1.1.1.9.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.8 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.7 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.6 28-Mar-2020  christos branches: 1.1.1.6.4; 1.1.1.6.6;
 1.1.1.5 29-Apr-2019  christos 
 1.1.1.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 25-Jan-2017  christos branches: 1.1.1.3.12; 1.1.1.3.14;
One more time in the right place...
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2; 1.1.1.2.4;
import new acpica:
 1.1.1.1 13-Apr-2015  christos branches: 1.1.1.1.2;
 1.1.1.9.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.12.1 25-Jan-2017  jdolecek file acdragonflyex.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.2.1 13-Apr-2015  skrll file acdragonflyex.h was added on branch nick-nhusb on 2015-06-06 14:40:17 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acefi.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 acefi.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acefi.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 15-Sep-2017  christos branches: 1.1.1.5.2; 1.1.1.5.4;
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.2.1 15-Sep-2017  jdolecek file acefiex.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file acefiex.h was added on branch nick-nhusb on 2015-09-22 12:06:04 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 25-Jan-2017  christos One more time in the right place...
 1.1.1.10 11-Nov-2016  christos branches: 1.1.1.10.2;
Import acpica-20160930:
 1.1.1.9 04-May-2016  christos branches: 1.1.1.9.2;
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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 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 acenv.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 acenv.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acenv.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12; 1.1.1.6.14;
One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.12.1 25-Jan-2017  jdolecek file acenvex.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acfreebsd.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 acfreebsd.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acfreebsd.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.14 24-Aug-2025  christos merge our changes into 20250807
 1.13 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.12 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.11 01-Sep-2023  christos branches: 1.11.6;
merge conflicts between 20230628 and 20221020
 1.10 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.9 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.8 28-Mar-2020  christos branches: 1.8.4; 1.8.6;
merge conflicts
 1.7 29-Apr-2019  christos merge conflicts
 1.6 07-Apr-2018  christos branches: 1.6.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.5 15-Sep-2017  christos branches: 1.5.2;
merge conflicts
 1.4 25-Jan-2017  christos merge conflicts
 1.3 12-Nov-2016  christos branches: 1.3.2;
Add _STANDALONE (scole mail)
 1.2 11-Nov-2016  christos Adjust to new acpica
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acgcc.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 acgcc.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acgcc.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.5.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.12; 1.1.1.2.14;
One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.12.1 25-Jan-2017  jdolecek file acgccex.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file acgccex.h was added on branch pgoyette-localcount on 2017-01-07 08:56:45 +0000
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file acgccex.h was added on branch nick-nhusb on 2016-12-05 10:55:23 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file achaiku.h was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file achaiku.h was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file achaiku.h was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acintel.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 acintel.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 acintel.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 27-Nov-2020  christos branches: 1.1.1.16.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.15 28-Mar-2020  christos branches: 1.1.1.15.4;
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
import new acpica:
 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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.7.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.3 05-Oct-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 aclinux.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 aclinux.h was added on branch rmind-uvmplock on 2011-03-05 20:54:35 +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 aclinux.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12; 1.1.1.5.14;
One more time in the right place...
 1.1.1.4 11-Nov-2016  christos branches: 1.1.1.4.2;
Import acpica-20160930:
 1.1.1.3 09-Jan-2016  christos branches: 1.1.1.3.2;
import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.12.1 25-Jan-2017  jdolecek file aclinuxex.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.4.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file acmacosx.h was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file acmacosx.h was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file acmacosx.h was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 02-Aug-2020  christos branches: 1.1.1.16.2; 1.1.1.16.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.15 28-Mar-2020  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2;
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.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-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 acmsvc.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +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 acmsvc.h was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 acmsvc.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 25-Jan-2017  christos branches: 1.1.1.4.12; 1.1.1.4.14;
One more time in the right place...
 1.1.1.3 11-Nov-2016  christos branches: 1.1.1.3.2;
Import acpica-20160930:
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.12.1 25-Jan-2017  jdolecek file acmsvcex.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.3.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file acmsvcex.h was added on branch nick-nhusb on 2015-09-22 12:06:04 +0000
 1.28 24-Aug-2025  christos merge our changes into 20250807
 1.27 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.26 01-Sep-2023  christos branches: 1.26.6;
merge conflicts between 20230628 and 20221020
 1.25 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.24 03-Sep-2021  jmcneill Only define ACPI_QUIET_BOOT for kernel builds
 1.23 03-Sep-2021  jmcneill Suppress table loading messages if AB_QUIET or AB_SILENT flags are set.
 1.22 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.21 08-Sep-2020  jmcneill branches: 1.21.2; 1.21.4;
Define ACPI_BIG_ENDIAN on BE targets
 1.20 28-Mar-2020  christos merge conflicts
 1.19 29-Apr-2019  christos merge conflicts
 1.18 16-Oct-2018  jmcneill Rename options ACPI_REDUCED_HARDWARE to ACPI_REDUCED_HW. The former is
a boolean in the acpica build, so use the latter to select the correct
value.
 1.17 07-Apr-2018  christos branches: 1.17.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.16 15-Sep-2017  christos branches: 1.16.2;
merge conflicts
 1.15 25-Jan-2017  christos merge conflicts
 1.14 11-Nov-2016  christos branches: 1.14.2;
Adjust to new acpica
 1.13 09-Jan-2016  christos branches: 1.13.2;
merge new acpica
 1.12 13-Apr-2015  christos resolve conflicts.
 1.11 25-Oct-2014  christos branches: 1.11.2;
merge conflicts
 1.10 19-Jul-2014  lneto lua: updated from 5.1 to 5.3 work3

* lua(1):
- changed lua_Integer to intmax_t
- updated distrib/sets/lists and etc/mtree
- updated bsd.lua.mk
- fixed bozohttpd (lua-bozo.c)
- compatibilized bindings: gpio, sqlite
* lua(4):
- removed floating-point and libc dependencies using '#ifndef _KERNEL'
- fixed division by zero and exponentiation
- libkern: added isalnum(), iscntrl(), isgraph(), isprint() and ispunct()
- acpica: removed isprint() from acnetbsd.h
- libc: moved strcspn.c, strpbrk.c and strspn.c to common
- removed stub headers
- compatibilized bindings: luapmf, luasystm
* reorganized luaconf.h
* updated doc/CHANGES and doc/RESPONSIBLE
 1.9 27-Dec-2013  christos branches: 1.9.2;
resolve conflicts
 1.8 22-Aug-2011  dholland branches: 1.8.2; 1.8.12; 1.8.16;
Requires stdint.h.
 1.7 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.6 05-Mar-2011  jakllsch branches: 1.6.4;
Correct #endif comment.
 1.5 18-Feb-2011  jruoho branches: 1.5.2;
Provide ACPI_CAST_PTHREAD_T(x).
 1.4 17-Feb-2011  jruoho branches: 1.4.2;
ACPI_THREAD_ID type was changed to uint64_t, which is good enough for us.
 1.3 17-Feb-2011  jruoho Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.4.2.3 05-Mar-2011  bouyer Sync with HEAD
 1.4.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.4.2.1 17-Feb-2011  bouyer file acnetbsd.h was added on branch bouyer-quota2 on 2011-02-17 12:00:28 +0000
 1.5.2.3 06-Mar-2011  rmind sync with head (and fix few botches with this)
 1.5.2.2 05-Mar-2011  rmind sync with head
 1.5.2.1 18-Feb-2011  rmind file acnetbsd.h was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +0000
 1.6.4.2 06-Jun-2011  jruoho Sync with HEAD.
 1.6.4.1 05-Mar-2011  jruoho file acnetbsd.h was added on branch jruoho-x86intr on 2011-06-06 09:09:02 +0000
 1.8.16.1 18-May-2014  rmind sync with head
 1.8.12.2 03-Dec-2017  jdolecek update from HEAD
 1.8.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.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.9.2.1 10-Aug-2014  tls Rebase.
 1.11.2.4 05-Feb-2017  skrll Sync with HEAD
 1.11.2.3 05-Dec-2016  skrll Sync with HEAD
 1.11.2.2 19-Mar-2016  skrll Sync with HEAD
 1.11.2.1 06-Jun-2015  skrll Sync with HEAD
 1.13.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.13.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.14.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.16.2.2 20-Oct-2018  pgoyette Sync with head
 1.16.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.17.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.17.2.1 10-Jun-2019  christos Sync with HEAD
 1.21.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.26.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acos2.h was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 acos2.h was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 acos2.h was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos branches: 1.1.1.5.2;
 1.1.1.4 15-Sep-2017  christos branches: 1.1.1.4.2; 1.1.1.4.4;
 1.1.1.3 25-Jan-2017  christos One more time in the right place...
 1.1.1.2 11-Nov-2016  christos branches: 1.1.1.2.2;
Import acpica-20160930:
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4;
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.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.2.1 15-Sep-2017  jdolecek file acqnx.h was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file acqnx.h was added on branch nick-nhusb on 2016-05-29 08:44:34 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acwin.h was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 acwin.h was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 acwin.h was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 acwin64.h was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 acwin64.h was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 acwin64.h was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.2 11-Nov-2016  christos Adjust to new acpica
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.2 09-Jan-2016  christos branches: 1.1.1.2.2;
import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.2.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file acwinex.h was added on branch nick-nhusb on 2015-09-22 12:06:04 +0000
 1.1 01-Sep-2023  christos branches: 1.1.1;
Initial revision
 1.1.1.4 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.3 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.2 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.1 01-Sep-2023  christos branches: 1.1.1.1.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.1.6.1 02-Aug-2025  perseant Sync with HEAD
 1.25 24-Aug-2025  christos merge our changes into 20250807
 1.24 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.23 01-Sep-2023  christos branches: 1.23.6;
merge conflicts between 20230628 and 20221020
 1.22 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.21 30-May-2021  chs avoid dereferencing a constant string address as a UINT32 pointer,
KUBSAN complains about bad alignment.

Reported-by: syzbot+91187f4e33436ce83e56@syzkaller.appspotmail.com
 1.20 03-Apr-2021  christos branches: 1.20.2; 1.20.4;
Merge local changes with acpica-20210331
 1.19 28-Mar-2020  christos branches: 1.19.4; 1.19.6;
merge conflicts
 1.18 15-Oct-2019  christos merge conflicts
 1.17 29-Apr-2019  christos merge conflicts
 1.16 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.15 18-Aug-2018  christos merge conflicts
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 12-Nov-2017  christos branches: 1.13.2;
merge conflicts
 1.12 15-Sep-2017  christos merge conflicts
 1.11 30-Apr-2017  christos merge conflicts
 1.10 25-Jan-2017  christos branches: 1.10.4;
merge conflicts
 1.9 18-Jul-2016  christos branches: 1.9.2;
merge conflicts.
 1.8 09-Jan-2016  christos branches: 1.8.2;
merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.24 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.23 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.22 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.21 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.20 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.19 28-Mar-2020  christos 
 1.1.1.18 15-Oct-2019  christos 
 1.1.1.17 29-Apr-2019  christos 
 1.1.1.16 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.15 18-Aug-2018  christos 
 1.1.1.14 07-Apr-2018  christos 
 1.1.1.13 12-Nov-2017  christos 
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nsaccess.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nsaccess.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nsaccess.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 05-Oct-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.13.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.13.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.4.1 31-May-2021  cjep sync with head
 1.20.2.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.23.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 15-Oct-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.8.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsalloc.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsalloc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsalloc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 27-Nov-2020  christos branches: 1.1.1.10.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.9 28-Mar-2020  christos branches: 1.1.1.9.4;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file nsarguments.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file nsarguments.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file nsarguments.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 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 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file nsconvert.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file nsconvert.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file nsconvert.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 28-Mar-2020  christos branches: 1.18.4; 1.18.6;
merge conflicts
 1.17 14-Dec-2019  christos merge conflicts
 1.16 25-Oct-2019  christos fix printf formats
 1.15 15-Oct-2019  christos merge conflicts
 1.14 29-Apr-2019  christos merge conflicts
 1.13 18-Aug-2018  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 25-Jan-2017  christos branches: 1.11.12;
merge conflicts
 1.10 18-Jul-2016  christos branches: 1.10.2;
merge conflicts.
 1.9 04-May-2016  christos branches: 1.9.2;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nsdump.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nsdump.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nsdump.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.5.2.6 05-Feb-2017  skrll Sync with HEAD
 1.5.2.5 05-Oct-2016  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.11.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.12.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsdumpdv.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsdumpdv.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsdumpdv.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 28-Mar-2020  christos branches: 1.16.4; 1.16.6;
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 18-Aug-2018  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 25-Jan-2017  christos branches: 1.10.12;
merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 18-Aug-2018  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nseval.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nseval.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nseval.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.12.3 18-Jan-2019  pgoyette Synch with HEAD
 1.10.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 28-Mar-2020  christos branches: 1.18.4; 1.18.6;
merge conflicts
 1.17 15-Oct-2019  christos merge conflicts
 1.16 29-Apr-2019  christos merge conflicts
 1.15 18-Aug-2018  christos merge conflicts
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 15-Sep-2017  christos branches: 1.13.2;
merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 04-May-2016  christos branches: 1.11.2; 1.11.4;
merge new acpica
 1.10 09-Jan-2016  christos merge new acpica
 1.9 18-Aug-2015  christos merge conflicts
 1.8 13-Apr-2015  christos resolve conflicts.
 1.7 09-Feb-2015  chs revert rev 1.5, which brings back PR 48494.
that earlier revision itself reverted an upstream bugfix,
and that change fixed some systems but broke others
(in particular, it broke my HP Z800 workstation.)
this latest revision brings us back in sync with upstream.
the current upstream (and this latest flip-flop of our copy)
is clearly correct, since it zeros a buffer which is intended
to be used as scratch space for a single acpica operation.
agreed by christos and ryoon back in april 2014.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 05-Jan-2014  christos branches: 1.5.4;
PR/48494: Ryo Onodera: After ACPICA 20131218 update, uhub topology is
misanderstood on macbook air. Ryo by bisection found that the following
commit causes the problem: https://github.com/acpica/acpica/commit/\
637accd073a205eb4acac935f34d0eaee0c301a8. This is tracked in:
https://bugs.acpica.org/show_bug.cgi?id=1016
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nsinit.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nsinit.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nsinit.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.5.4.1 26-Feb-2015  snj Pull up following revision(s) (requested by chs in ticket #546):
sys/external/bsd/acpica/dist/namespace/nsinit.c: revision 1.7
revert rev 1.5, which brings back PR 48494.
that earlier revision itself reverted an upstream bugfix,
and that change fixed some systems but broke others
(in particular, it broke my HP Z800 workstation.)
this latest revision brings us back in sync with upstream.
the current upstream (and this latest flip-flop of our copy)
is clearly correct, since it zeros a buffer which is intended
to be used as scratch space for a single acpica operation.
agreed by christos and ryoon back in april 2014.
 1.6.2.6 05-Feb-2017  skrll Sync with HEAD
 1.6.2.5 29-May-2016  skrll Sync with HEAD
 1.6.2.4 19-Mar-2016  skrll Sync with HEAD
 1.6.2.3 22-Sep-2015  skrll Sync with HEAD
 1.6.2.2 06-Jun-2015  skrll Sync with HEAD
 1.6.2.1 06-Apr-2015  skrll Sync with HEAD
 1.11.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.13.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2;
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.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsload.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsload.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsload.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsnames.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsnames.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsnames.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsobject.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsobject.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsobject.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsparse.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsparse.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsparse.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 nspredef.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nspredef.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nspredef.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file nsprepkg.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file nsprepkg.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file nsprepkg.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos branches: 1.1.1.10.8;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  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 nsrepair.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +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 nsrepair.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +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 nsrepair.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.18 06-Jul-2021  christos merge changes for acpica-20210604
 1.17 03-Apr-2021  christos branches: 1.17.2;
Merge local changes with acpica-20210331
 1.16 27-Nov-2020  christos branches: 1.16.2;
merge conflicts
 1.15 28-Mar-2020  christos branches: 1.15.4;
merge conflicts
 1.14 15-Oct-2019  christos merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 30-Apr-2017  christos branches: 1.11.8;
merge conflicts
 1.10 25-Jan-2017  christos branches: 1.10.4;
merge conflicts
 1.9 09-Jan-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 06-Jul-2021  christos Import acpica-20210604
 1.1.1.16 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.15 27-Nov-2020  christos 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.14 28-Mar-2020  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 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 
 1.1.1.4 27-Dec-2013  christos import new acpica
 1.1.1.3 28-Jun-2011  jruoho 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 Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nsrepair2.c was added on branch jruoho-x86intr on 2011-06-06 09:09:03 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nsrepair2.c was added on branch rmind-uvmplock on 2011-03-05 20:54:36 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nsrepair2.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.5 28-Aug-2017  skrll Sync with HEAD
 1.6.2.4 05-Feb-2017  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.11.8.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.15.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 18-Aug-2018  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.9.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nssearch.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 nssearch.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 nssearch.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 15-Oct-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsutils.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 nsutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 nsutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nswalk.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 nswalk.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 nswalk.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 18-Nov-2020  rin branches: 1.15.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.14 28-Mar-2020  christos branches: 1.14.4;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 15-Sep-2017  christos branches: 1.11.2;
merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nsxfeval.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nsxfeval.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nsxfeval.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.14.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.15.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 09-Jan-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file nsxfname.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file nsxfname.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file nsxfname.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 27-Nov-2020  christos branches: 1.1.1.11.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.10 28-Mar-2020  christos branches: 1.1.1.10.4;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 nsxfobj.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 nsxfobj.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 nsxfobj.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12; 1.1.1.6.14;
One more time in the right place...
 1.1.1.5 18-Jul-2016  christos branches: 1.1.1.5.2;
27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 18-Aug-2015  christos 
 1.1.1.1 13-Apr-2015  christos branches: 1.1.1.1.2;
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.12.1 25-Jan-2017  jdolecek file osbsdtbl.c was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.1.2.7 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.6 05-Oct-2016  skrll Sync with HEAD
 1.1.1.1.2.5 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.4 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.3 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.2.1 13-Apr-2015  skrll file osbsdtbl.c was added on branch nick-nhusb on 2015-06-06 14:40:17 +0000
 1.2 11-Nov-2016  christos Adjust to new acpica
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.2 11-Nov-2016  christos Adjust to new acpica
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.2 13-Apr-2015  christos resolve conflicts.
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file osfreebsdtbl.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file osfreebsdtbl.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file osfreebsdtbl.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 25-Jan-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.9 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.8 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.7 01-Sep-2023  christos branches: 1.1.1.7.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.6 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.5 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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 25-Jan-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.18; 1.1.1.1.20;
One more time in the right place...
 1.1.1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.20.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 25-Jan-2017  jdolecek file osgendbg.c was added on branch tls-maxphys on 2017-12-03 11:37:42 +0000
 1.1.1.1.8.2 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.8.1 25-Jan-2017  bouyer file osgendbg.c was added on branch bouyer-socketcan on 2017-04-21 16:53:57 +0000
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 25-Jan-2017  pgoyette file osgendbg.c was added on branch pgoyette-localcount on 2017-03-20 06:57:42 +0000
 1.1.1.1.2.2 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.1 25-Jan-2017  skrll file osgendbg.c was added on branch nick-nhusb on 2017-02-05 13:40:52 +0000
 1.2 11-Nov-2016  christos Adjust to new acpica
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.3 09-Jan-2016  christos branches: 1.1.1.3.2;
import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 27-Nov-2020  christos branches: 1.13.2;
merge conflicts
 1.12 02-Aug-2020  christos branches: 1.12.2;
merge conflicts
 1.11 28-Mar-2020  christos merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 15-Sep-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 27-Nov-2020  christos 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.11 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.10 28-Mar-2020  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 15-Sep-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 22-Mar-2014  tls file oslinuxtbl.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.2.6.2 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.2.6.1 22-Mar-2014  yamt file oslinuxtbl.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 22-Mar-2014  rmind file oslinuxtbl.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.12.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 osunixdir.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 osunixdir.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 osunixdir.c was added on branch bouyer-quota2 on 2011-02-17 12:00:29 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file osunixmap.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file osunixmap.c was added on branch yamt-pagecache on 2014-05-22 11:40:40 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file osunixmap.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
import new acpica:
 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.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 osunixxf.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 osunixxf.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 osunixxf.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 oswindir.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 oswindir.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 oswindir.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 oswintbl.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 oswintbl.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 oswintbl.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
import new acpica:
 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.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 oswinxf.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 oswinxf.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 oswinxf.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 01-Sep-2023  christos branches: 1.1.1;
Initial revision
 1.1.1.4 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.3 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.2 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.1 01-Sep-2023  christos branches: 1.1.1.1.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.1.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 psargs.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 psargs.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 psargs.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 18-Aug-2018  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 psloop.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 psloop.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +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 psloop.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 18-Aug-2018  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 30-Apr-2017  christos 
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.4;
One more time in the right place...
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 28-Aug-2017  skrll Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file psobject.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file psobject.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file psobject.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 30-Apr-2017  christos merge conflicts
 1.8 25-Jan-2017  christos branches: 1.8.4;
merge conflicts
 1.7 09-Jan-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 15-Sep-2017  christos 
 1.1.1.8 30-Apr-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file psopcode.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file psopcode.c was added on branch rmind-uvmplock on 2011-03-05 20:54:37 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file psopcode.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.5.2.4 28-Aug-2017  skrll Sync with HEAD
 1.5.2.3 05-Feb-2017  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 30-Apr-2017  christos branches: 1.10.8;
merge conflicts
 1.9 25-Jan-2017  christos branches: 1.9.4;
merge conflicts
 1.8 04-May-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 09-Jan-2016  christos merge new acpica
 1.6 18-Aug-2015  christos merge conflicts
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 27-Dec-2013  christos branches: 1.3.4; 1.3.6; 1.3.10;
fix debugging build.
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 30-Apr-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.3.10.3 03-Dec-2017  jdolecek update from HEAD
 1.3.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.1 27-Dec-2013  tls file psopinfo.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.3.6.2 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.3.6.1 27-Dec-2013  yamt file psopinfo.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.3.4.2 18-May-2014  rmind sync with head
 1.3.4.1 27-Dec-2013  rmind file psopinfo.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.4.2.4 29-May-2016  skrll Sync with HEAD
 1.4.2.3 19-Mar-2016  skrll Sync with HEAD
 1.4.2.2 22-Sep-2015  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.10.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 27-Nov-2020  christos branches: 1.1.1.16.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.15 28-Mar-2020  christos branches: 1.1.1.15.4;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 psparse.c was added on branch jruoho-x86intr on 2011-06-06 09:09:04 +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 psparse.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 psparse.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 psscope.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 psscope.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 psscope.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos branches: 1.1.1.8.8;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 pstree.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 pstree.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 pstree.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.4;
One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 psutils.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 psutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 psutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 18-Aug-2018  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 pswalk.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 pswalk.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 pswalk.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 psxface.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 psxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 psxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rsaddr.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rsaddr.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rsaddr.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rscalc.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rscalc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rscalc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rscreate.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rscreate.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rscreate.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 28-Mar-2020  christos branches: 1.14.4; 1.14.6;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 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 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 04-May-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 09-Jan-2016  christos merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 04-May-2018  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file rsdump.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file rsdump.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file rsdump.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync 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.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.17 24-Aug-2025  christos merge our changes into 20250807
 1.16 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.15 01-Sep-2023  christos branches: 1.15.6;
merge conflicts between 20230628 and 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.12 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.11 28-Mar-2020  christos branches: 1.11.4; 1.11.6;
merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 15-Sep-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 04-May-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 09-Jan-2016  christos merge new acpica
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos branches: 1.2.4; 1.2.6; 1.2.10;
fix debugging build.
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 15-Sep-2017  christos 
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 27-Dec-2013  tls file rsdumpinfo.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.2.6.2 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.2.6.1 27-Dec-2013  yamt file rsdumpinfo.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 27-Dec-2013  rmind file rsdumpinfo.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rsinfo.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rsinfo.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rsinfo.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rsio.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rsio.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rsio.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rsirq.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rsirq.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rsirq.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rslist.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rslist.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rslist.c was added on branch bouyer-quota2 on 2011-02-17 12:00:30 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rsmemory.c was added on branch jruoho-x86intr on 2011-06-06 09:09:05 +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 rsmemory.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rsmemory.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 rsmisc.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +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 rsmisc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +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 rsmisc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2; 1.1.1.5.4;
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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file rsserial.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file rsserial.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file rsserial.c was added on branch rmind-smpnet on 2014-05-18 17:45:51 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 25-Jan-2017  christos branches: 1.10.12;
merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file rsutils.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file rsutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file rsutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.14 18-Nov-2020  rin branches: 1.14.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.13 28-Mar-2020  christos branches: 1.13.4;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 07-Apr-2018  christos branches: 1.11.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.10 15-Sep-2017  christos branches: 1.10.2;
merge conflicts
 1.9 25-Jan-2017  christos merge conflicts
 1.8 09-Jan-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos 
 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 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file rsxface.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file rsxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:38 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file rsxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.14.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 14-Dec-2019  christos merge conflicts
 1.13 15-Oct-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 18-Aug-2018  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2; 1.9.4;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 11-Nov-2016  christos branches: 1.7.2;
Adjust to new acpica
 1.6 04-May-2016  christos branches: 1.6.2;
merge new acpica
 1.5 09-Jan-2016  christos merge new acpica
 1.4 18-Aug-2015  christos merge conflicts
 1.3 13-Apr-2015  christos resolve conflicts.
 1.2 25-Oct-2014  christos branches: 1.2.2;
merge conflicts
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 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.14 28-Mar-2020  christos 
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 18-Aug-2018  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.5 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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos 
 1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 03-Dec-2017  jdolecek update from HEAD
 1.9.2.1 15-Sep-2017  jdolecek file tbdata.c was added on branch tls-maxphys on 2017-12-03 11:37:43 +0000
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.23 24-Aug-2025  christos merge our changes into 20250807
 1.22 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.21 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 29-Apr-2019  christos merge conflicts
 1.13 07-Apr-2018  christos branches: 1.13.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.12 15-Sep-2017  christos branches: 1.12.2;
merge conflicts
 1.11 25-Jan-2017  christos merge conflicts
 1.10 11-Nov-2016  christos branches: 1.10.2;
Adjust to new acpica
 1.9 04-May-2016  christos branches: 1.9.2;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file tbfadt.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file tbfadt.c was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file tbfadt.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.5.2.6 05-Feb-2017  skrll Sync with HEAD
 1.5.2.5 05-Dec-2016  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.12;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 tbfind.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +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 tbfind.c was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +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 tbfind.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
merge conflicts
 1.14 29-Apr-2019  christos merge conflicts
 1.13 05-May-2018  christos branches: 1.13.2;
merge acpica 20180427
 1.12 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.11 15-Sep-2017  christos branches: 1.11.2;
merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 11-Nov-2016  christos branches: 1.9.2;
Adjust to new acpica
 1.8 04-May-2016  christos branches: 1.8.2;
merge new acpica
 1.7 09-Jan-2016  christos merge new acpica
 1.6 18-Aug-2015  christos merge conflicts
 1.5 09-May-2015  christos CID 1292512: Help coverity with offset NULL calculations
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.19 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.18 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.17 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.16 28-Mar-2020  christos 
 1.1.1.15 29-Apr-2019  christos 
 1.1.1.14 04-May-2018  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 15-Sep-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 
 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.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 tbinstal.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +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 tbinstal.c was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +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 tbinstal.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.3.2.6 05-Feb-2017  skrll Sync with HEAD
 1.3.2.5 05-Dec-2016  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.2.2 21-May-2018  pgoyette Sync with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file tbprint.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file tbprint.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file tbprint.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.25 24-Aug-2025  christos merge our changes into 20250807
 1.24 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.23 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.22 01-Sep-2023  christos branches: 1.22.6;
merge conflicts between 20230628 and 20221020
 1.21 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.20 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.19 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.18 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.17 28-Mar-2020  christos branches: 1.17.4; 1.17.6;
merge conflicts
 1.16 28-May-2019  kamil Correct misaligned pointer dereference of type UINT32 in ACPICA

Detected with kUBSan.
 1.15 29-Apr-2019  christos merge conflicts
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 15-Sep-2017  christos branches: 1.13.2;
merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 20-Mar-2014  riastradh Don't unmap Rsdp until we've finished using it.

XXX Let me know how this is supposed to be upstreamed if you know and
have time...
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file tbutils.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file tbutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file tbutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.6.2.6 05-Feb-2017  skrll Sync with HEAD
 1.6.2.5 05-Dec-2016  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.17.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.21 24-Aug-2025  christos merge our changes into 20250807
 1.20 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.16 18-Nov-2020  rin branches: 1.16.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.15 28-Mar-2020  christos branches: 1.15.4;
merge conflicts
 1.14 29-Apr-2019  christos merge conflicts
 1.13 07-Apr-2018  christos branches: 1.13.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.12 15-Sep-2017  christos branches: 1.12.2;
merge conflicts
 1.11 25-Jan-2017  christos merge conflicts
 1.10 11-Nov-2016  christos branches: 1.10.2;
Adjust to new acpica
 1.9 09-Jan-2016  christos branches: 1.9.2;
merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 20-Feb-2011  jruoho branches: 1.4.2; 1.4.6; 1.4.8; 1.4.18; 1.4.22;
Fix wrong note in a comment.
 1.3 17-Feb-2011  jruoho branches: 1.3.2;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.2.3 05-Mar-2011  bouyer Sync with HEAD
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file tbxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.4.22.1 18-May-2014  rmind sync with head
 1.4.18.2 03-Dec-2017  jdolecek update from HEAD
 1.4.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.8.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.4.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.6.1 20-Feb-2011  jruoho file tbxface.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +0000
 1.4.2.2 05-Mar-2011  rmind sync with head
 1.4.2.1 20-Feb-2011  rmind file tbxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +0000
 1.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 05-Dec-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.16.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.15 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 14-Dec-2019  christos merge conflicts
 1.11 15-Oct-2019  christos merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.8 07-Apr-2018  christos branches: 1.8.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.7 15-Sep-2017  christos branches: 1.7.2;
merge conflicts
 1.6 08-Apr-2017  scole Add #ifdef so ski emulator won't crash. This change probably wouldn't
hurt other archs, but just apply to ia64 to be safe.
 1.5 25-Jan-2017  christos merge conflicts
 1.4 11-Nov-2016  christos branches: 1.4.2;
Adjust to new acpica
 1.3 04-May-2016  christos branches: 1.3.2;
merge new acpica
 1.2 20-Feb-2016  mrg remove a stray \n from an ACPI_INFO() call (which ends up adding its
own newline anyway.)
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 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.15 28-Mar-2020  christos 
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 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.10 07-Apr-2018  christos 
 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 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.2.2.7 28-Aug-2017  skrll Sync with HEAD
 1.1.1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file tbxfload.c was added on branch tls-maxphys on 2014-08-20 00:03:55 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file tbxfload.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file tbxfload.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.3.2.3 26-Apr-2017  pgoyette Sync with HEAD
 1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.4.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.7.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.8.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 09-Jan-2016  christos branches: 1.7.2;
merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file tbxfroot.c was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file tbxfroot.c was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file tbxfroot.c was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 05-Dec-2016  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.7 14-Dec-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 18-Aug-2015  christos branches: 1.1.1.5.16;
 1.1.1.4 27-Dec-2013  christos branches: 1.1.1.4.6;
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.6.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.5.16.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.6.1 22-Sep-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 badcode.asl was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +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 badcode.asl was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +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 badcode.asl was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.2 07-Apr-2018  christos 
 1.1.1.1 15-Sep-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 15-Sep-2017  jdolecek file converterSample.asl was added on branch tls-maxphys on 2017-12-03 11:37:43 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 grammar.asl was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +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 grammar.asl was added on branch rmind-uvmplock on 2011-03-05 20:54:39 +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 grammar.asl was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.3 14-Dec-2019  christos 
 1.1.1.2 15-Oct-2019  christos 
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Import 20110211.
 1.1.1.1.62.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file Makefile was added on branch jruoho-x86intr on 2011-06-06 09:09:06 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.2 28-Mar-2020  christos 
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.62;
Import 20110211.
 1.1.1.1.62.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.1.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1 17-Feb-2011  jruoho file templates.sh was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 templates.sh was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 templates.sh was added on branch bouyer-quota2 on 2011-02-17 12:00:31 +0000
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 18-Aug-2018  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 12-Nov-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 11-Nov-2016  christos branches: 1.1.1.6.2;
Import acpica-20160930:
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2;
import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 11-Nov-2016  christos branches: 1.1.1.6.2;
Import acpica-20160930:
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2;
import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 11-Nov-2016  christos branches: 1.1.1.6.2;
Import acpica-20160930:
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file acpidump.h was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file acpidump.h was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file acpidump.h was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file apdump.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file apdump.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file apdump.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.18 24-Aug-2025  christos merge our changes into 20250807
 1.17 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.16 01-Sep-2023  christos branches: 1.16.6;
merge conflicts between 20230628 and 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 15-Oct-2019  christos merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 15-Sep-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 11-Nov-2016  christos branches: 1.7.2;
Adjust to new acpica
 1.6 09-Jan-2016  christos branches: 1.6.2;
merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos branches: 1.2.4; 1.2.6; 1.2.10;
kill sprintf
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos 
 1.1.1.1 27-Dec-2013  christos import new acpica
 1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 22-Mar-2014  tls file apfiles.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.2.6.2 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.2.6.1 22-Mar-2014  yamt file apfiles.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 22-Mar-2014  rmind file apfiles.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 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 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file apmain.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file apmain.c was added on branch yamt-pagecache on 2014-05-22 11:40:41 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file apmain.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.3.16.1 18-May-2014  rmind sync with 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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 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 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync 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.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aecommon.h was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 aecommon.h was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 aecommon.h was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 18-Aug-2018  christos 
 1.1.1.4 04-May-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 07-Apr-2018  christos 
 1.1.1.2 12-Nov-2017  christos branches: 1.1.1.2.2; 1.1.1.2.4;
 1.1.1.1 15-Sep-2017  christos 
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.4.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.2.4.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.2.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.2.1 12-Nov-2017  jdolecek file aeexception.c was added on branch tls-maxphys on 2017-12-03 11:37:43 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 12-Nov-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 aeexec.c was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 aeexec.c was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 aeexec.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2;
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.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-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 aehandlers.c was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 aehandlers.c was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 aehandlers.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 13-Apr-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 18-Aug-2018  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 04-May-2016  christos branches: 1.1.1.4.2;
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.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 18-Aug-2015  christos 
 1.1.1.1 13-Apr-2015  christos branches: 1.1.1.1.2;
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file aeinitfile.c was added on branch tls-maxphys on 2017-12-03 11:37:43 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.7 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.6 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.5 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.4 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.3 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.2 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.2.1 13-Apr-2015  skrll file aeinitfile.c was added on branch nick-nhusb on 2015-06-06 14:40:18 +0000
 1.1 12-Nov-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 06-Jul-2021  christos Import acpica-20210604
 1.1.1.5 03-Apr-2021  christos branches: 1.1.1.5.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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 12-Nov-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 12-Nov-2017  jdolecek file aeinstall.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.26 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.25 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.24 01-Sep-2023  christos branches: 1.1.1.24.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.23 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.22 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.21 27-Nov-2020  christos branches: 1.1.1.21.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.20 25-May-2020  christos branches: 1.1.1.20.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.19 28-Mar-2020  christos 
 1.1.1.18 14-Dec-2019  christos 
 1.1.1.17 29-Apr-2019  christos 
 1.1.1.16 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.15 18-Aug-2018  christos 
 1.1.1.14 04-May-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos import new acpica:
 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.24.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.21.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.20.2.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.20.2.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.4 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.12.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.12.2.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 aemain.c was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 aemain.c was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 aemain.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 06-Jul-2021  christos Import acpica-20210604
 1.1.1.12 03-Apr-2021  christos branches: 1.1.1.12.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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 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.8 18-Aug-2018  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2; 1.1.1.6.4;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.4.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.6.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.6.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.6.2.1 12-Nov-2017  jdolecek file aeregion.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  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 aetables.c was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 aetables.c was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 aetables.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  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 aetables.h was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 aetables.h was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 aetables.h was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 12-Nov-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.11 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.10 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.9 01-Sep-2023  christos branches: 1.1.1.9.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.8 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.7 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.6 28-Mar-2020  christos branches: 1.1.1.6.4; 1.1.1.6.6;
 1.1.1.5 14-Dec-2019  christos 
 1.1.1.4 15-Oct-2019  christos 
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 12-Nov-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.9.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.6.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 12-Nov-2017  jdolecek file aetests.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.2 28-Jun-2011  jruoho Merge ACPICA 20110623.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.2.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.2.8.1 17-Feb-2011  jruoho file osunixdir.c was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 osunixdir.c was added on branch rmind-uvmplock on 2011-03-05 20:54:40 +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 osunixdir.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos branches: 1.1.1.16.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 27-Nov-2020  christos branches: 1.1.1.13.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.12 28-Mar-2020  christos branches: 1.1.1.12.4;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.16.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 25-Jan-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.9 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.8 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.7 01-Sep-2023  christos branches: 1.1.1.7.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.6 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.5 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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 25-Jan-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.18; 1.1.1.1.20;
One more time in the right place...
 1.1.1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.20.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 25-Jan-2017  jdolecek file ahaml.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.8.2 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.8.1 25-Jan-2017  bouyer file ahaml.c was added on branch bouyer-socketcan on 2017-04-21 16:53:58 +0000
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 25-Jan-2017  pgoyette file ahaml.c was added on branch pgoyette-localcount on 2017-03-20 06:57:43 +0000
 1.1.1.1.2.2 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.1 25-Jan-2017  skrll file ahaml.c was added on branch nick-nhusb on 2017-02-05 13:40:53 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2;
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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 25-Jan-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.9 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.8 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.7 01-Sep-2023  christos branches: 1.1.1.7.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.6 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.5 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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 25-Jan-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.18; 1.1.1.1.20;
One more time in the right place...
 1.1.1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.20.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 25-Jan-2017  jdolecek file ahasl.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.8.2 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.8.1 25-Jan-2017  bouyer file ahasl.c was added on branch bouyer-socketcan on 2017-04-21 16:53:58 +0000
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 25-Jan-2017  pgoyette file ahasl.c was added on branch pgoyette-localcount on 2017-03-20 06:57:43 +0000
 1.1.1.1.2.2 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.1 25-Jan-2017  skrll file ahasl.c was added on branch nick-nhusb on 2017-02-05 13:40:53 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.3.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.15 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.14 27-Nov-2020  christos branches: 1.1.1.14.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.13 28-Mar-2020  christos branches: 1.1.1.13.4;
 1.1.1.12 14-Dec-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.12; 1.1.1.2.14;
One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.12.1 25-Jan-2017  jdolecek file ahgrammar.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file ahgrammar.c was added on branch pgoyette-localcount on 2017-01-07 08:56:46 +0000
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file ahgrammar.c was added on branch nick-nhusb on 2016-12-05 10:55:24 +0000
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 27-Nov-2020  christos branches: 1.1.1.13.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.12 28-Mar-2020  christos branches: 1.1.1.12.4;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2;
import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.13.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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.2 27-Dec-2013  christos resolve conflicts
 1.1 28-Jun-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.1 28-Jun-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.12; 1.1.1.1.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.16.1 18-May-2014  rmind sync with head
 1.1.1.1.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.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.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.3.16.1 18-May-2014  rmind sync with 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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 09-Jan-2016  christos branches: 1.1.1.8.2;
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.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.4 05-Dec-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 acpisrc.h was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 acpisrc.h was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 acpisrc.h was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 ascase.c was added on branch jruoho-x86intr on 2011-06-06 09:09:07 +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 ascase.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 ascase.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 18-Aug-2018  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asconvrt.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 asconvrt.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 asconvrt.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos branches: 1.1.1.19.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos branches: 1.1.1.16.4; 1.1.1.16.6;
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos branches: 1.1.1.12.2;
 1.1.1.11 25-Jan-2017  christos One more time in the right place...
 1.1.1.10 11-Nov-2016  christos branches: 1.1.1.10.2;
Import acpica-20160930:
 1.1.1.9 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.16.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.16.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.12.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.8.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.4.2.7 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.5 05-Oct-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asfile.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 asfile.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 asfile.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos branches: 1.1.1.18.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos branches: 1.1.1.15.4; 1.1.1.15.6;
 1.1.1.14 14-Dec-2019  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos branches: 1.1.1.12.2;
 1.1.1.11 12-Nov-2017  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.12.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asmain.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 asmain.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 asmain.c was added on branch bouyer-quota2 on 2011-02-17 12:00:32 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 14-Dec-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 15-Sep-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 18-Jul-2016  christos branches: 1.1.1.8.2;
27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Oct-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asremove.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 asremove.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 asremove.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.29 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.28 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.27 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.26 01-Sep-2023  christos branches: 1.1.1.26.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.25 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 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 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.21 06-Jul-2021  christos Import acpica-20210604
 1.1.1.20 03-Apr-2021  christos branches: 1.1.1.20.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.19 28-Mar-2020  christos branches: 1.1.1.19.4; 1.1.1.19.6;
 1.1.1.18 14-Dec-2019  christos 
 1.1.1.17 29-Apr-2019  christos 
 1.1.1.16 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.15 18-Aug-2018  christos 
 1.1.1.14 07-Apr-2018  christos branches: 1.1.1.14.2;
 1.1.1.13 12-Nov-2017  christos branches: 1.1.1.13.2;
 1.1.1.12 15-Sep-2017  christos 
 1.1.1.11 30-Apr-2017  christos 
 1.1.1.10 25-Jan-2017  christos branches: 1.1.1.10.4;
One more time in the right place...
 1.1.1.9 11-Nov-2016  christos branches: 1.1.1.9.2;
Import acpica-20160930:
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2;
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.7 09-Jan-2016  christos 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.26.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.20.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.19.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.19.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.13.2.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.13.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.9.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.8.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.7 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.4.2.4 29-May-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 astable.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 astable.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 astable.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 asutils.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 asutils.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 asutils.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.2 28-Jun-2011  jruoho Merge ACPICA 20110623.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.2.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.2.8.1 17-Feb-2011  jruoho file osunixdir.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 osunixdir.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 osunixdir.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.2 27-Dec-2013  christos resolve conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 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.3.16.1 18-May-2014  rmind sync with 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 Makefile was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 Makefile was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 Makefile was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 12-Nov-2017  christos branches: 1.9.2;
merge conflicts
 1.8 25-Jan-2017  christos merge conflicts
 1.7 04-May-2016  christos branches: 1.7.2; 1.7.4;
merge new acpica
 1.6 09-Jan-2016  christos merge new acpica
 1.5 18-Aug-2015  christos merge conflicts
 1.4 13-Apr-2015  christos resolve conflicts.
 1.3 25-Oct-2014  christos branches: 1.3.2;
merge conflicts
 1.2 22-Mar-2014  christos kill sprintf
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 28-Mar-2020  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 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.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 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 
 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.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 acpixtract.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 acpixtract.c was added on branch rmind-uvmplock on 2011-03-05 20:54:41 +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 acpixtract.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 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.5 18-Aug-2018  christos 
 1.1.1.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 12-Nov-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 09-Jan-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
import new acpica:
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 12-Nov-2017  jdolecek file acpixtract.h was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file acpixtract.h was added on branch nick-nhusb on 2016-03-19 11:30:25 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 15-Oct-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file axmain.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file axmain.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file axmain.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 09-Jan-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 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.5 18-Aug-2018  christos 
 1.1.1.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 12-Nov-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 09-Jan-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
import new acpica:
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.3 18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.3.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 12-Nov-2017  jdolecek file axutils.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 09-Jan-2016  skrll file axutils.c was added on branch nick-nhusb on 2016-03-19 11:30:25 +0000
 1.1 25-Jan-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 15-Sep-2017  christos branches: 1.1.1.2.2; 1.1.1.2.4;
 1.1.1.1 25-Jan-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
One more time in the right place...
 1.1.1.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.2.1 15-Sep-2017  jdolecek file efihello.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.8.2 25-Jan-2017  christos 1215441
 1.1.1.1.8.1 25-Jan-2017  christos file efihello.c was added on branch bouyer-socketcan on 2017-01-25 13:03:53 +0000
 1.1.1.1.4.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.1 25-Jan-2017  pgoyette file efihello.c was added on branch pgoyette-localcount on 2017-03-20 06:57:44 +0000
 1.1.1.1.2.2 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.1 25-Jan-2017  skrll file efihello.c was added on branch nick-nhusb on 2017-02-05 13:40:53 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 12-Nov-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 04-May-2016  christos branches: 1.1.1.8.2; 1.1.1.8.4;
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.7 09-Jan-2016  christos import new acpica:
 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.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.5.2.2 19-Mar-2016  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 examples.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 examples.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 examples.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file examples.h was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file examples.h was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file examples.h was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file exstubs.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file exstubs.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file exstubs.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file extables.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file extables.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file extables.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 25-Jan-2017  christos branches: 1.1.1.6.12;
One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.3 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utaddress.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utaddress.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utaddress.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos branches: 1.1.1.9.8;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.5 28-Aug-2017  skrll 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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utalloc.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 utalloc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utalloc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 04-May-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.10 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.9 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.8 01-Sep-2023  christos branches: 1.1.1.8.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.7 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.6 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.5 28-Mar-2020  christos branches: 1.1.1.5.4; 1.1.1.5.6;
 1.1.1.4 29-Apr-2019  christos 
 1.1.1.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 25-Jan-2017  christos branches: 1.1.1.2.12; 1.1.1.2.14;
One more time in the right place...
 1.1.1.1 04-May-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
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.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.5.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.12.1 25-Jan-2017  jdolecek file utascii.c was added on branch tls-maxphys on 2017-12-03 11:37:44 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.1 04-May-2016  skrll file utascii.c was added on branch nick-nhusb on 2016-05-29 08:44:35 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 14-Dec-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 18-Aug-2018  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 11-Nov-2016  christos branches: 1.1.1.6.2;
Import acpica-20160930:
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utbuffer.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utbuffer.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utbuffer.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 18-Nov-2020  rin branches: 1.15.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.14 28-Mar-2020  christos branches: 1.14.4;
merge conflicts
 1.13 29-Apr-2019  christos merge conflicts
 1.12 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 30-Apr-2017  christos branches: 1.11.8;
merge conflicts
 1.10 25-Jan-2017  christos branches: 1.10.4;
merge conflicts
 1.9 04-May-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos 
 1.1.1.10 30-Apr-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file utcache.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file utcache.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file utcache.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.5.2.6 28-Aug-2017  skrll Sync with HEAD
 1.5.2.5 05-Feb-2017  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.10.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.11.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.14.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.15.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 10-Dec-2022  christos branches: 1.1.1;
Initial revision
 1.1.1.4 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.3 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.2 01-Sep-2023  christos branches: 1.1.1.2.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.1 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.2.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utclib.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 utclib.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utclib.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utcopy.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +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 utcopy.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utcopy.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 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 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.18 28-Mar-2020  christos branches: 1.18.4; 1.18.6;
merge conflicts
 1.17 15-Oct-2019  christos merge conflicts
 1.16 29-Apr-2019  christos merge conflicts
 1.15 07-Apr-2018  christos branches: 1.15.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.14 30-Apr-2017  christos branches: 1.14.8;
merge conflicts
 1.13 25-Jan-2017  christos branches: 1.13.4;
merge conflicts
 1.12 11-Nov-2016  christos branches: 1.12.2;
Adjust to new acpica
 1.11 18-Jul-2016  christos merge conflicts.
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 17-Feb-2011  jruoho branches: 1.4.2; 1.4.6; 1.4.8; 1.4.18; 1.4.22;
Fix ACPI_DEBUG build.
 1.3 17-Feb-2011  jruoho branches: 1.3.2;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.22 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.21 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.20 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos 
 1.1.1.15 15-Oct-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  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 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file utdebug.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.4.22.1 18-May-2014  rmind sync with head
 1.4.18.2 03-Dec-2017  jdolecek update from HEAD
 1.4.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.8.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.4.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.4.6.1 17-Feb-2011  jruoho file utdebug.c was added on branch jruoho-x86intr on 2011-06-06 09:09:08 +0000
 1.4.2.2 05-Mar-2011  rmind sync with head
 1.4.2.1 17-Feb-2011  rmind file utdebug.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +0000
 1.6.2.8 28-Aug-2017  skrll Sync with HEAD
 1.6.2.7 05-Feb-2017  skrll Sync with HEAD
 1.6.2.6 05-Dec-2016  skrll Sync with HEAD
 1.6.2.5 05-Oct-2016  skrll Sync with HEAD
 1.6.2.4 29-May-2016  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.10.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.12.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.13.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.14.8.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.15.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.15.2.1 10-Jun-2019  christos Sync with HEAD
 1.18.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.6.1 02-Aug-2025  perseant Sync with HEAD
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 01-Sep-2023  christos branches: 1.20.6;
merge conflicts between 20230628 and 20221020
 1.19 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.18 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.17 02-Aug-2020  christos branches: 1.17.2; 1.17.4;
merge conflicts
 1.16 28-Mar-2020  christos merge conflicts
 1.15 29-Apr-2019  christos merge conflicts
 1.14 07-Apr-2018  christos branches: 1.14.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.13 12-Nov-2017  christos branches: 1.13.2;
merge conflicts
 1.12 15-Sep-2017  christos merge conflicts
 1.11 25-Jan-2017  christos merge conflicts
 1.10 18-Jul-2016  christos branches: 1.10.2;
merge conflicts.
 1.9 04-May-2016  christos branches: 1.9.2;
merge new acpica
 1.8 09-Jan-2016  christos merge new acpica
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos resolve conflicts
 1.4 28-Jun-2011  jruoho branches: 1.4.2; 1.4.12; 1.4.16;
Merge ACPICA 20110623.
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.6;
Fix ACPI_DEBUG build.
 1.2 17-Feb-2011  jruoho branches: 1.2.2;
Sigh. Why some people are unable to write proper C?
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 07-Apr-2018  christos 
 1.1.1.11 12-Nov-2017  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 18-Jul-2016  christos 27 May 2016. Summary of changes for version 20160527:

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


1) ACPICA kernel-resident subsystem:

Temporarily reverted the new arbitrary bit length/alignment support in
AcpiHwRead/AcpiHwWrite for the Generic Address Structure. There have been
a number of regressions with the new code that need to be fully resolved
and tested before this support can be finally integrated into ACPICA.
Apologies for any inconveniences these issues may have caused.

The ACPI message macros are not configurable (ACPI_MSG_ERROR,
ACPI_MSG_EXCEPTION, ACPI_MSG_WARNING, ACPI_MSG_INFO, ACPI_MSG_BIOS_ERROR,
and ACPI_MSG_BIOS_WARNING). Lv Zheng.

Fixed a couple of GCC warnings associated with the use of the -Wcast-qual
option. Adds a new return macro, return_STR. Junk-uk Kim.

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: 136.8K Code, 51.6K Data, 188.4K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 200.9K Code, 82.2K Data, 283.1K Total
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 28-Jun-2011  jruoho 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 Import 20110211.
 1.2.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 17-Feb-2011  bouyer file utdecode.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.3.6.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.6.1 17-Feb-2011  jruoho file utdecode.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +0000
 1.3.2.2 05-Mar-2011  rmind sync with head
 1.3.2.1 17-Feb-2011  rmind file utdecode.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +0000
 1.4.16.1 18-May-2014  rmind sync with head
 1.4.12.2 03-Dec-2017  jdolecek update from HEAD
 1.4.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.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.6.2.5 05-Feb-2017  skrll Sync with HEAD
 1.6.2.4 05-Oct-2016  skrll Sync with HEAD
 1.6.2.3 29-May-2016  skrll Sync with HEAD
 1.6.2.2 19-Mar-2016  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.9.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.10.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.13.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.14.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1 10-Jun-2019  christos Sync with HEAD
 1.17.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.20.6.1 02-Aug-2025  perseant Sync with HEAD
 1.13 24-Aug-2025  christos merge our changes into 20250807
 1.12 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.11 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.10 01-Sep-2023  christos branches: 1.10.6;
merge conflicts between 20230628 and 20221020
 1.9 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.8 18-Dec-2021  christos merge changes from acpica-20210930 to acpica-20211217
 1.7 06-Jul-2021  christos merge changes for acpica-20210604
 1.6 03-Apr-2021  christos branches: 1.6.2;
Merge local changes with acpica-20210331
 1.5 02-Aug-2020  christos branches: 1.5.2; 1.5.4;
merge conflicts
 1.4 28-Mar-2020  christos merge conflicts
 1.3 29-Apr-2019  christos merge conflicts
 1.2 18-Aug-2018  christos merge conflicts
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.18 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.17 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.16 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.15 06-Jul-2021  christos Import acpica-20210604
 1.1.1.14 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.13 02-Aug-2020  christos VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 18-Aug-2018  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utdelete.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utdelete.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utdelete.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.5.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.5.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.6.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 15-Oct-2019  christos 
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 18-Aug-2018  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 12-Nov-2017  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file uterror.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file uterror.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file uterror.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.17 24-Aug-2025  christos merge our changes into 20250807
 1.16 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.15 01-Sep-2023  christos branches: 1.15.6;
merge conflicts between 20230628 and 20221020
 1.14 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.13 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.12 28-Mar-2020  christos branches: 1.12.4; 1.12.6;
merge conflicts
 1.11 29-Apr-2019  christos merge conflicts
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 09-Jan-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos fix debugging build.
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file uteval.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file uteval.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file uteval.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.6.2.3 05-Feb-2017  skrll Sync with HEAD
 1.6.2.2 19-Mar-2016  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos branches: 1.1.1.11.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos branches: 1.1.1.8.4; 1.1.1.8.6;
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12;
One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.11.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.5.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utexcep.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utexcep.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utexcep.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.2 04-May-2016  christos merge new acpica
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.1.2.3 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.19 24-Aug-2025  christos merge our changes into 20250807
 1.18 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.17 01-Sep-2023  christos branches: 1.17.6;
merge conflicts between 20230628 and 20221020
 1.16 10-Dec-2022  christos merge acpica 20220331 to 20221020
 1.15 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.14 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.13 28-Mar-2020  christos branches: 1.13.4; 1.13.6;
merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 04-May-2016  christos branches: 1.8.2; 1.8.4;
merge new acpica
 1.7 09-Jan-2016  christos merge new acpica
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file utglobal.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file utglobal.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file utglobal.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.5.2.4 05-Feb-2017  skrll Sync with HEAD
 1.5.2.3 29-May-2016  skrll Sync with HEAD
 1.5.2.2 19-Mar-2016  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.8.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.8.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 15-Sep-2017  christos branches: 1.1.1.7.2; 1.1.1.7.4;
 1.1.1.6 25-Jan-2017  christos One more time in the right place...
 1.1.1.5 11-Nov-2016  christos branches: 1.1.1.5.2;
Import acpica-20160930:
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2;
import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.7.2.1 15-Sep-2017  jdolecek file uthex.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.5.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 02-Aug-2020  christos branches: 1.1.1.12.2; 1.1.1.12.4;
VERSION 20200717
Submitted by Bob Moore on 17 July, 2020 - 13:35

17 July 2020. Summary of changes for version 20200717:

1) ACPICA kernel-resident subsystem:

Do not increment OperationRegion reference counts for field units.
Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units (thousands)
under the same OperationRegion. This occurs because each field unit
declaration will add a reference count to the source OperationRegion.
This release solves the reference count overflow for OperationRegion
objects by preventing fieldUnits from incrementing their parent
OperationRegion's reference count.

Replaced one-element arrays with flexible-arrays, which were
introduced in C99.

Restored the readme file containing the directions for generation
of ACPICA from source on MSVC 2017. Updated the file for MSVC 2017.
File is located at: generate/msvc2017/readme.txt

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Fixed a regression found in version 20200214. Prevent iASL
from emitting an extra byte of garbage data when control methods
declared a single parameter type without using braces. This extra
byte is known to cause a blue screen on the Windows AML interpreter.

iASL: Made a change to allow external declarations to specify the
type of a named object even when some name segments are not defined.
This change allows the following ASL code to compile (When DEV0 is
not defined or not defined yet):

External (\_SB.DEV0.OBJ1, IntObj)
External (\_SB.DEV0, DeviceObj)

iASL: Fixed a problem where method names in "Alias ()" statement
could be misinterpreted. They are now interpreted correctly as
method invocations.

iASL: capture a method parameter count (Within the Method info
segment, as well as the argument node) when using parameter type
lists.

VERSION 20200528
Submitted by Bob Moore on 28 May, 2020 - 13:24

28 May 2020. Summary of changes for version 20200528:

1) ACPICA kernel-resident subsystem:

Removed old/obsolete Visual Studio files which were used to build
the Windows versions of the ACPICA tools. Since we have moved to
Visual Studio 2017, we are no longer supporting Visual Studio 2006
and 2009 project files. The new subdirectory and solution file are
located at:

acpica/generate/msvc2017/AcpiComponents.sln

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: added support for a new OperationRegion Address Space (subtype):
PlatformRtMechanism. Support for this new keyword is being released
for early prototyping. It will appear in the next release of the
ACPI specification.

iASL: do not optimize the NameString parameter of the CondRefOf
operator. In the previous iASL compiler release, the NameString
parameter of the CondRefOf was optimized. There is evidence that
some implementations of the AML interpreter do not perform the
recursive search-to-parent search during the execution of the
CondRefOf operator. Therefore, the CondRefOf operator behaves
differently when the NameString parameter is a single name segment
(a NameSeg) as opposed to a full NamePath (starting at the root
scope) or a NameString containing parent prefixes.

iASL: Prevent an inadvertent remark message. This change prevents
a remark if within a control method the following exist:
1) An Operation Region is defined, and
2) A Field operator is defined that refers to the region. This
happens because at the top level, the Field operator does not
actually create a new named object, it simply references the
operation region.

Removed support for the acpinames utility. The acpinames was a
simple utility used to populate and display the ACPI namespace
without executing any AML code. However, ACPICA now supports
executable opcodes outside of control methods. This means that
executable AML opcodes such as If and Store opcodes need to be
executed during table load. Therefore, acpinames would need to be
updated to match the same behavior as the acpiexec utility and
since acpiexec can already dump the entire namespace (via the
'namespace' command), we no longer have the need to maintain
acpinames.

In order to dump the contents of the ACPI namepsace using acpiexec,
execute the following command from the command line:

acpiexec -b "n" [aml files]
 1.1.1.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utids.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utids.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utids.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos branches: 1.1.1.17.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos branches: 1.1.1.14.4; 1.1.1.14.6;
 1.1.1.13 15-Oct-2019  christos 
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 12-Nov-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.17.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.14.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.14.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utinit.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utinit.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utinit.c was added on branch bouyer-quota2 on 2011-02-17 12:00:33 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utlock.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utlock.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utlock.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 12-Nov-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utmath.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utmath.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utmath.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.20 24-Aug-2025  christos merge our changes into 20250807
 1.19 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.18 01-Sep-2023  christos branches: 1.18.6;
merge conflicts between 20230628 and 20221020
 1.17 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 28-Mar-2020  christos branches: 1.15.4; 1.15.6;
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 07-Apr-2018  christos branches: 1.12.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.11 15-Sep-2017  christos branches: 1.11.2;
merge conflicts
 1.10 25-Jan-2017  christos merge conflicts
 1.9 09-Jan-2016  christos branches: 1.9.2; 1.9.4;
merge new acpica
 1.8 18-Aug-2015  christos merge conflicts
 1.7 13-Apr-2015  christos resolve conflicts.
 1.6 25-Oct-2014  christos branches: 1.6.2;
merge conflicts
 1.5 27-Dec-2013  christos fix debugging build.
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.19 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.18 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 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.14 28-Mar-2020  christos 
 1.1.1.13 29-Apr-2019  christos 
 1.1.1.12 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.11 07-Apr-2018  christos 
 1.1.1.10 15-Sep-2017  christos 
 1.1.1.9 25-Jan-2017  christos One more time in the right place...
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file utmisc.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file utmisc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file utmisc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.6.2.4 05-Feb-2017  skrll Sync with HEAD
 1.6.2.3 19-Mar-2016  skrll Sync with HEAD
 1.6.2.2 22-Sep-2015  skrll Sync with HEAD
 1.6.2.1 06-Jun-2015  skrll Sync with HEAD
 1.9.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.2.2 18-Jan-2019  pgoyette Synch with HEAD
 1.11.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 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.15.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.15.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.18.6.1 02-Aug-2025  perseant Sync with HEAD
 1.16 24-Aug-2025  christos merge our changes into 20250807
 1.15 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.14 01-Sep-2023  christos branches: 1.14.6;
merge conflicts between 20230628 and 20221020
 1.13 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.12 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.11 28-Mar-2020  christos branches: 1.11.4; 1.11.6;
merge conflicts
 1.10 29-Apr-2019  christos merge conflicts
 1.9 07-Apr-2018  christos branches: 1.9.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.8 12-Nov-2017  christos branches: 1.8.2;
merge conflicts
 1.7 25-Jan-2017  christos merge conflicts
 1.6 09-Jan-2016  christos branches: 1.6.2; 1.6.4;
merge new acpica
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 27-Dec-2013  christos resolve conflicts
 1.2 17-Oct-2013  christos __USE a debugging variable
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 12-Nov-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 13-Apr-2015  christos 
 1.1.1.4 25-Oct-2014  christos 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utmutex.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utmutex.c was added on branch rmind-uvmplock on 2011-03-05 20:54:42 +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 utmutex.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.9 24-Aug-2025  christos merge our changes into 20250807
 1.8 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.7 01-Sep-2023  christos branches: 1.7.6;
merge conflicts between 20230628 and 20221020
 1.6 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.5 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.4 28-Mar-2020  christos branches: 1.4.4; 1.4.6;
merge conflicts
 1.3 29-Apr-2019  christos merge conflicts
 1.2 07-Apr-2018  christos branches: 1.2.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.1 18-Aug-2015  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 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.8 28-Mar-2020  christos 
 1.1.1.7 29-Apr-2019  christos 
 1.1.1.6 07-Apr-2018  christos 
 1.1.1.5 25-Jan-2017  christos branches: 1.1.1.5.12; 1.1.1.5.14;
One more time in the right place...
 1.1.1.4 11-Nov-2016  christos branches: 1.1.1.4.2;
Import acpica-20160930:
 1.1.1.3 04-May-2016  christos branches: 1.1.1.3.2;
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.2 09-Jan-2016  christos import new acpica:
 1.1.1.1 18-Aug-2015  christos branches: 1.1.1.1.2;
 1.1.1.5.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.5.12.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.5.12.1 25-Jan-2017  jdolecek file utnonansi.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.4.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.3.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 18-Aug-2015  skrll file utnonansi.c was added on branch nick-nhusb on 2015-09-22 12:06:05 +0000
 1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.12 24-Aug-2025  christos merge our changes into 20250807
 1.11 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.10 01-Sep-2023  christos branches: 1.10.6;
merge conflicts between 20230628 and 20221020
 1.9 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.8 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.7 28-Mar-2020  christos branches: 1.7.4; 1.7.6;
merge conflicts
 1.6 29-Apr-2019  christos merge conflicts
 1.5 07-Apr-2018  christos branches: 1.5.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.4 15-Sep-2017  christos branches: 1.4.2;
merge conflicts
 1.3 25-Jan-2017  christos merge conflicts
 1.2 09-Jan-2016  christos branches: 1.2.2; 1.2.4;
merge new acpica
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utobject.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utobject.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +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 utobject.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.2.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.4.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.5.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.22 24-Aug-2025  christos merge our changes into 20250807
 1.21 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.20 13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.19 01-Sep-2023  christos branches: 1.19.6;
merge conflicts between 20230628 and 20221020
 1.18 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.17 28-Oct-2021  christos merge conflicts between 2021-06-04 and 2021-09-30
 1.16 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.15 18-Nov-2020  rin branches: 1.15.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.14 28-Mar-2020  christos branches: 1.14.4;
merge conflicts
 1.13 15-Oct-2019  christos merge conflicts
 1.12 29-Apr-2019  christos merge conflicts
 1.11 05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.10 07-Apr-2018  christos branches: 1.10.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.9 25-Jan-2017  christos branches: 1.9.12;
merge conflicts
 1.8 11-Nov-2016  christos branches: 1.8.2;
Adjust to new acpica
 1.7 09-Jan-2016  christos branches: 1.7.2;
merge new acpica
 1.6 18-Aug-2015  christos merge conflicts
 1.5 13-Apr-2015  christos resolve conflicts.
 1.4 25-Oct-2014  christos branches: 1.4.2;
merge conflicts
 1.3 27-Dec-2013  christos resolve conflicts
 1.2 17-Feb-2011  jruoho branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.20; 1.2.24;
Sigh. Why some people are unable to write proper C?
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.20 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.19 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.18 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.17 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.16 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.15 28-Oct-2021  christos 30 September 2021. Summary of changes for version 20210930:

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

1) ACPICA kernel-resident subsystem:

Hardware: Avoid evaluating methods too early during system resume.
During wakeup from system-wide sleep states, AcpiGetSleepTypeData()
is called and it tries to get memory from the OS in order to evaluate
a control method, but if KFENCE is enabled in the Linux kernel,
the memory allocation attempt causes an IRQ work to be queued and
a self-IPI to be sent to the CPU running the code which requires
the memory controller to be ready, so if that happens too early in
the wakeup path, it doesn't work.

Prevent that from taking place by calling AcpiGetSleepTypeData()
for S0 upfront, when preparing to enter a given sleep state, and
saving the data obtained by it for later use during system wakeup.

Added a new _OSI string, "Windows 2020". Posted by superm1.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL compiler: Updated the check for usage of _CRS, _DIS, _PRS, and _SRS objects:
New/latest rules: Under a Device Object:
1) If _PRS is present, must have _CRS and _SRS
2) If _SRS is present, must have _PRS (_PRS requires _CRS and _SRS)
3) If _DIS is present, must have _SRS (_SRS requires _PRS, _PRS requires _CRS
and _SRS)
4) If _SRS is present, probably should have a _DIS (Remark only)

iASL table disassembler: Added disassembly support for the NHLT
ACPI table. Note: support for Vendor-defined microphone arrays and
SNR extensions are not supported at this time -- mostly due to a
lack of example tables. Actual compiler support for NHLT is
forthcoming.

Added a new subtable type for ACPI 6.4 SRAT Generic Port Affinity.
It uses the same subtable structure as the existing Generic Initiator
Affinity type.

Added the flag for online capable in the MADT, introduced in ACPI
6.3. Posted by superm1.

3) ACPICA documentation: Updated the legal info (that appears at
the start of the Documents) to clarify distribution rights that
are granted.

30 July 2021. Summary of changes for version 20210730:

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

1) ACPICA kernel-resident subsystem:

2) iASL Compiler/Disassembler and ACPICA tools:

iasl: Check usage of _CRS, _DIS, _PRS, and _SRS objects (July 2021).
Under the Device Object:
1) If _DIS is present, must have a _CRS and _SRS
2) If _PRS is present, must have a _CRS, _DIS, and _SRS
3) If _SRS is present, must have a _CRS and _DIS
A warning will be issued for each of these cases.
Note: For existing ASL/projects, these warnings may be disabled by
specifying this on the command line:
"-vw 3141"

iASL Table Disassembler/Table compiler: Fix for WPBT table with no
command-line arguments. Handle the case where the Command-line
Arguments table field does not exist (zero).

Headers: Add new DBG2 Serial Port Subtypes
The Microsoft Debug Port Table 2 (DBG2) specification revision
September 21, 2020 comprises additional Serial Port Subtypes [1].
Reflect that in the actbl1.h header file. Submitted by:
semihalf-wojtas-marcin

iASL: Add full support for the AEST table (data compiler)
Includes support in the table compiler and the disassembler.

Add PRMT module header to facilitate parsing.
This structure is used in to parse PRMT in other Operating Systems
that relies on using subtable headers in order to parse ACPI tables.
Although the PRMT doesn't have "subtables" it has a list of module
information structures that act as subtables.

iASL: Table disassembler: Add missing strings to decode subtable types.
Includes the MADT and CEDT tables.
 1.1.1.14 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.13 28-Mar-2020  christos 
 1.1.1.12 15-Oct-2019  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 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.9 07-Apr-2018  christos 
 1.1.1.8 25-Jan-2017  christos One more time in the right place...
 1.1.1.7 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos 
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho Import 20110211.
 1.2.24.1 18-May-2014  rmind sync with head
 1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.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.2.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.2.8.1 17-Feb-2011  jruoho file utosi.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +0000
 1.2.4.2 05-Mar-2011  rmind sync with head
 1.2.4.1 17-Feb-2011  rmind file utosi.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +0000
 1.2.2.3 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.2.2.1 17-Feb-2011  bouyer file utosi.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.4.2.4 05-Dec-2016  skrll Sync with HEAD
 1.4.2.3 19-Mar-2016  skrll Sync with HEAD
 1.4.2.2 22-Sep-2015  skrll Sync with HEAD
 1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.12.2 18-Jan-2019  pgoyette Synch with HEAD
 1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.10.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.14.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.15.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.15 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.14 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.13 01-Sep-2023  christos branches: 1.1.1.13.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.12 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.11 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.10 28-Mar-2020  christos branches: 1.1.1.10.4; 1.1.1.10.6;
 1.1.1.9 15-Oct-2019  christos 
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.10.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utownerid.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utownerid.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utownerid.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 27-Nov-2020  christos branches: 1.1.1.11.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.10 28-Mar-2020  christos branches: 1.1.1.10.4;
 1.1.1.9 29-Apr-2019  christos 
 1.1.1.8 07-Apr-2018  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 11-Nov-2016  christos branches: 1.1.1.6.2;
Import acpica-20160930:
 1.1.1.5 09-Jan-2016  christos branches: 1.1.1.5.2;
import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utpredef.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utpredef.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utpredef.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.15 24-Aug-2025  christos merge our changes into 20250807
 1.14 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.13 01-Sep-2023  christos branches: 1.13.6;
merge conflicts between 20230628 and 20221020
 1.12 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.11 06-Jul-2021  christos merge changes for acpica-20210604
 1.10 03-Apr-2021  christos branches: 1.10.2;
Merge local changes with acpica-20210331
 1.9 18-Nov-2020  rin branches: 1.9.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.8 28-Mar-2020  christos branches: 1.8.4;
merge conflicts
 1.7 29-Apr-2019  christos merge conflicts
 1.6 05-May-2018  christos branches: 1.6.2;
merge acpica 20180427
 1.5 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.4 15-Sep-2017  christos branches: 1.4.2; 1.4.4;
merge conflicts
 1.3 25-Jan-2017  christos merge conflicts
 1.2 11-Nov-2016  christos branches: 1.2.2;
Adjust to new acpica
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 06-Jul-2021  christos Import acpica-20210604
 1.1.1.13 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.12 28-Mar-2020  christos 
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 04-May-2018  christos 
 1.1.1.9 07-Apr-2018  christos 
 1.1.1.8 15-Sep-2017  christos 
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.5 04-May-2016  christos branches: 1.1.1.5.2;
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.4 09-Jan-2016  christos import new acpica:
 1.1.1.3 18-Aug-2015  christos 
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos branches: 1.1.1.1.2;
 1.1.1.5.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.5.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.1.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.1.2.1 06-Jun-2015  skrll Sync with HEAD
 1.2.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.4.4.2 21-May-2018  pgoyette Sync with HEAD
 1.4.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.4.2.2 03-Dec-2017  jdolecek update from HEAD
 1.4.2.1 15-Sep-2017  jdolecek file utprint.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.8.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.9.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.10.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.13.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.9 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.8 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.7 01-Sep-2023  christos branches: 1.1.1.7.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.6 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.5 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.4 28-Mar-2020  christos branches: 1.1.1.4.4; 1.1.1.4.6;
 1.1.1.3 29-Apr-2019  christos 
 1.1.1.2 07-Apr-2018  christos branches: 1.1.1.2.2;
 1.1.1.1 15-Sep-2017  christos branches: 1.1.1.1.2; 1.1.1.1.4;
 1.1.1.7.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.4.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.2.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.1.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.2.1 15-Sep-2017  jdolecek file utresdecode.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 15-Sep-2017  christos branches: 1.1.1.9.2;
 1.1.1.8 30-Apr-2017  christos 
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.4;
One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4 28-Aug-2017  skrll Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utresrc.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utresrc.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +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 utresrc.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.16 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.15 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.14 01-Sep-2023  christos branches: 1.1.1.14.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 15-Sep-2017  christos branches: 1.1.1.8.2;
 1.1.1.7 25-Jan-2017  christos One more time in the right place...
 1.1.1.6 09-Jan-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
import new acpica:
 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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.14.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utstate.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utstate.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +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 utstate.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 10-Dec-2022  christos Import acpica 2022-10-20

20 October 2022. Summary of changes for version 20221020:

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

0) Global changes:

Allow disabling of -Werror. For distro maintainers having `-Werror`
can delay update of GCC. Since every GCC release might add new
warnings that were not yet captured, it might break the build of
packages. With this change, distros can now build with `NOWERROR=TRUE`
instead of patching either the errors or the makefiles. The default
behavior keeps on using `-Werror`.

1) ACPICA kernel-resident subsystem:

Added support for FFH Operation Region special context data.
FFH(Fixed Function Hardware) Opregion is approved to be added in
ACPI 6.5 via code first approach[1]. It requires special context
data similar to GPIO and Generic Serial Bus as it needs to know
platform specific offset and length.

Reverted this commit "executer/exsystem: Warn about sleeps greater
than 10 ms." Due to user complaints about valid sleeps greater than
10ms seen in some existing machines -- generating lots of warnings.

Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes
that EBDA region must be at least 1KiB in size. Because this is
not guaranteed, it might happen that while scanning the memory for
RSDP pointer, the kernel touches memory above 640KiB. This is
unwanted as the VGA memory range may not be decoded or even present
when running under virtualization.

Check that EBDA pointer is in valid memory. If the memory at 0x40e
is uninitialized, the retrieved physical memory address of EBDA
may be beyond the low memory (i.e. above 640K). If so, the kernel
may unintentionally access the VGA memory, that might not be decoded
or even present in case of virtualization.

2) iASL Compiler/Disassembler and ACPICA tools:

Completed the existing partial support for the CDAT "table". Although
this isn't technically an ACPI table (It doesn't go into the XSDT),
it is possible to support this table in the Data Table compiler.
Created one new file, "utilities/utcksum.c", used to centralize
checksum generation/validation into one location. Includes changes
to makefiles and MSVC project files.

Updated support for the IORT table - update to version E.e

Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table

iASL: Added CCEL table to both compiler/disassembler.

iASL: NHLT table: Fixed compilation of optional undocumented fields

iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit #
10e4763 ("iASL: Add CCEL table to both compiler/disassembler")
introduced the iASL build issue. The issue is due to using
ACPI_TDEL_OFFSET for CCEL table member reference. To fix it, change
ACPI_TDEL_OFFSET with ACPI_CCEL_OFFSET.
 1.1.1.13 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.12 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.11 28-Mar-2020  christos branches: 1.1.1.11.4; 1.1.1.11.6;
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 04-May-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 07-Apr-2018  christos 
 1.1.1.7 25-Jan-2017  christos branches: 1.1.1.7.12;
One more time in the right place...
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2; 1.1.1.6.4;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.11.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.7.12.2 21-May-2018  pgoyette Sync with HEAD
 1.1.1.7.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.6.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utstring.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utstring.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utstring.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 15-Sep-2017  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 27-Nov-2020  christos branches: 1.1.1.7.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.6 28-Mar-2020  christos branches: 1.1.1.6.4;
 1.1.1.5 29-Apr-2019  christos 
 1.1.1.4 18-Aug-2018  christos 
 1.1.1.3 07-Apr-2018  christos branches: 1.1.1.3.2;
 1.1.1.2 12-Nov-2017  christos branches: 1.1.1.2.2; 1.1.1.2.4;
 1.1.1.1 15-Sep-2017  christos 
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.4.2 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.6.4.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.2.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.2.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.2.1 12-Nov-2017  jdolecek file utstrsuppt.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1 11-Nov-2016  christos branches: 1.1.1;
Initial revision
 1.1.1.12 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.11 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.10 01-Sep-2023  christos branches: 1.1.1.10.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.9 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.8 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.7 28-Mar-2020  christos branches: 1.1.1.7.4; 1.1.1.7.6;
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 18-Aug-2018  christos 
 1.1.1.4 07-Apr-2018  christos branches: 1.1.1.4.2;
 1.1.1.3 15-Sep-2017  christos branches: 1.1.1.3.2; 1.1.1.3.4;
 1.1.1.2 25-Jan-2017  christos One more time in the right place...
 1.1.1.1 11-Nov-2016  christos branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Import acpica-20160930:
 1.1.1.10.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.7.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.4.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.4.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.3.4.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.3.2.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.2.1 15-Sep-2017  jdolecek file utstrtoul64.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.1.4.1 11-Nov-2016  pgoyette file utstrtoul64.c was added on branch pgoyette-localcount on 2017-01-07 08:56:46 +0000
 1.1.1.1.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.1.2.2 05-Dec-2016  skrll Sync with HEAD
 1.1.1.1.2.1 11-Nov-2016  skrll file utstrtoul64.c was added on branch nick-nhusb on 2016-12-05 10:55:24 +0000
 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 01-Sep-2023  christos branches: 1.22.6;
merge conflicts between 20230628 and 20221020
 1.21 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.20 03-Apr-2021  christos Merge local changes with acpica-20210331
 1.19 28-Mar-2020  christos branches: 1.19.4; 1.19.6;
merge conflicts
 1.18 14-Dec-2019  christos merge conflicts
 1.17 29-Apr-2019  christos merge conflicts
 1.16 25-Apr-2018  ozaki-r branches: 1.16.2;
Remove a unnecessary wrong cast (fix build of ALL)
 1.15 07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.14 12-Nov-2017  christos branches: 1.14.2;
merge conflicts
 1.13 15-Sep-2017  christos merge conflicts
 1.12 25-Jan-2017  christos merge conflicts
 1.11 11-Nov-2016  christos branches: 1.11.2;
Adjust to new acpica
 1.10 04-May-2016  christos branches: 1.10.2;
merge new acpica
 1.9 09-Jan-2016  christos more unconst
 1.8 09-Jan-2016  christos merge new acpica
 1.7 18-Aug-2015  christos merge conflicts
 1.6 13-Apr-2015  christos resolve conflicts.
 1.5 25-Oct-2014  christos branches: 1.5.2;
merge conflicts
 1.4 27-Dec-2013  christos resolve conflicts
 1.3 17-Feb-2011  jruoho branches: 1.3.2; 1.3.4; 1.3.8; 1.3.10; 1.3.20; 1.3.24;
Merge ACPICA 20110211.
 1.2 17-Feb-2011  jruoho Apply our local patches.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.21 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.20 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.19 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.18 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.17 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.16 28-Mar-2020  christos 
 1.1.1.15 14-Dec-2019  christos 
 1.1.1.14 29-Apr-2019  christos 
 1.1.1.13 07-Apr-2018  christos 
 1.1.1.12 12-Nov-2017  christos 
 1.1.1.11 15-Sep-2017  christos 
 1.1.1.10 25-Jan-2017  christos One more time in the right place...
 1.1.1.9 11-Nov-2016  christos Import acpica-20160930:
 1.1.1.8 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.7 09-Jan-2016  christos 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 
 1.1.1.3 27-Dec-2013  christos import new acpica
 1.1.1.2 17-Feb-2011  jruoho Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.3.24.1 18-May-2014  rmind sync with head
 1.3.20.2 03-Dec-2017  jdolecek update from HEAD
 1.3.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.10.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.3.8.2 06-Jun-2011  jruoho Sync with HEAD.
 1.3.8.1 17-Feb-2011  jruoho file uttrack.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +0000
 1.3.4.2 05-Mar-2011  rmind sync with head
 1.3.4.1 17-Feb-2011  rmind file uttrack.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +0000
 1.3.2.2 17-Feb-2011  bouyer Sync with HEAD
 1.3.2.1 17-Feb-2011  bouyer file uttrack.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.5.2.6 05-Feb-2017  skrll Sync with HEAD
 1.5.2.5 05-Dec-2016  skrll Sync with HEAD
 1.5.2.4 29-May-2016  skrll Sync with HEAD
 1.5.2.3 19-Mar-2016  skrll Sync with HEAD
 1.5.2.2 22-Sep-2015  skrll Sync with HEAD
 1.5.2.1 06-Jun-2015  skrll Sync with HEAD
 1.10.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.14.2.2 02-May-2018  pgoyette Synch with HEAD
 1.14.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.16.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.16.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.19.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.22.6.1 02-Aug-2025  perseant Sync with HEAD
 1.14 24-Aug-2025  christos merge our changes into 20250807
 1.13 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.12 01-Sep-2023  christos branches: 1.12.6;
merge conflicts between 20230628 and 20221020
 1.11 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.10 06-Jul-2021  christos merge changes for acpica-20210604
 1.9 03-Apr-2021  christos branches: 1.9.2;
Merge local changes with acpica-20210331
 1.8 28-Mar-2020  christos branches: 1.8.4; 1.8.6;
merge conflicts
 1.7 29-Apr-2019  christos merge conflicts
 1.6 07-Apr-2018  christos branches: 1.6.2;
Merge conflicts; STA methods and fields are not present anymore.
 1.5 25-Jan-2017  christos branches: 1.5.12; 1.5.14;
merge conflicts
 1.4 09-Jan-2016  christos branches: 1.4.2; 1.4.4;
merge new acpica
 1.3 13-Apr-2015  christos resolve conflicts.
 1.2 25-Oct-2014  christos branches: 1.2.2;
merge conflicts
 1.1 25-Oct-2014  christos branches: 1.1.1;
Initial revision
 1.1.1.13 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.12 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.11 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.10 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.9 06-Jul-2021  christos Import acpica-20210604
 1.1.1.8 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.7 28-Mar-2020  christos 
 1.1.1.6 29-Apr-2019  christos 
 1.1.1.5 07-Apr-2018  christos 
 1.1.1.4 25-Jan-2017  christos One more time in the right place...
 1.1.1.3 09-Jan-2016  christos import new acpica:
 1.1.1.2 13-Apr-2015  christos 
 1.1.1.1 25-Oct-2014  christos 
 1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.5.14.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.5.12.2 03-Dec-2017  jdolecek update from HEAD
 1.5.12.1 25-Jan-2017  jdolecek file utuuid.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.6.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.8.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.9.2.1 01-Aug-2021  thorpej Sync with HEAD.
 1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.17 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.16 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 29-Apr-2019  christos 
 1.1.1.10 07-Apr-2018  christos branches: 1.1.1.10.2;
 1.1.1.9 25-Jan-2017  christos branches: 1.1.1.9.12;
One more time in the right place...
 1.1.1.8 11-Nov-2016  christos branches: 1.1.1.8.2;
Import acpica-20160930:
 1.1.1.7 09-Jan-2016  christos branches: 1.1.1.7.2;
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 17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.20; 1.1.1.2.24;
Import 20110211.
 1.1.1.1 17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.10.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.9.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.7.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.4.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.4 05-Dec-2016  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.24.1 18-May-2014  rmind sync with head
 1.1.1.2.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.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 utxface.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utxface.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +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 utxface.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.6 24-Aug-2025  christos merge our changes into 20250807
 1.5 24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.4 01-Sep-2023  christos branches: 1.4.6;
merge conflicts between 20230628 and 20221020
 1.3 27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.2 03-Sep-2021  jmcneill Suppress table loading messages if AB_QUIET or AB_SILENT flags are set.
 1.1 17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.15 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.14 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.13 28-Mar-2020  christos branches: 1.1.1.13.4; 1.1.1.13.6;
 1.1.1.12 29-Apr-2019  christos 
 1.1.1.11 07-Apr-2018  christos branches: 1.1.1.11.2;
 1.1.1.10 12-Nov-2017  christos branches: 1.1.1.10.2;
 1.1.1.9 30-Apr-2017  christos 
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.4;
One more time in the right place...
 1.1.1.7 04-May-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
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.6 09-Jan-2016  christos import new acpica:
 1.1.1.5 18-Aug-2015  christos 
 1.1.1.4 13-Apr-2015  christos 
 1.1.1.3 25-Oct-2014  christos branches: 1.1.1.3.2;
 1.1.1.2 27-Dec-2013  christos import new acpica
 1.1.1.1 17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10; 1.1.1.1.20; 1.1.1.1.24;
Import 20110211.
 1.1.1.13.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.13.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.11.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.8.4.1 02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 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.3.2.6 28-Aug-2017  skrll Sync with HEAD
 1.1.1.3.2.5 05-Feb-2017  skrll Sync with HEAD
 1.1.1.3.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.3.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.3.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.24.1 18-May-2014  rmind sync with head
 1.1.1.1.20.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.20.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.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 utxferror.c was added on branch jruoho-x86intr on 2011-06-06 09:09:09 +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 utxferror.c was added on branch rmind-uvmplock on 2011-03-05 20:54:43 +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 utxferror.c was added on branch bouyer-quota2 on 2011-02-17 12:00:34 +0000
 1.4.6.1 02-Aug-2025  perseant Sync with HEAD
 1.3 24-Aug-2025  christos merge our changes into 20250807
 1.2 25-Feb-2025  christos fix amd64 kernel build (Tobias Nygren)
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.18 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.17 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.16 13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.15 01-Sep-2023  christos branches: 1.1.1.15.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.14 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.13 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.12 28-Mar-2020  christos branches: 1.1.1.12.4; 1.1.1.12.6;
 1.1.1.11 15-Oct-2019  christos 
 1.1.1.10 29-Apr-2019  christos 
 1.1.1.9 07-Apr-2018  christos branches: 1.1.1.9.2;
 1.1.1.8 25-Jan-2017  christos branches: 1.1.1.8.12;
One more time in the right place...
 1.1.1.7 11-Nov-2016  christos branches: 1.1.1.7.2;
Import acpica-20160930:
 1.1.1.6 04-May-2016  christos branches: 1.1.1.6.2;
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.5 09-Jan-2016  christos import new acpica:
 1.1.1.4 18-Aug-2015  christos 
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.15.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.12.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.12.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.9.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.8.12.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.6.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.6.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.1.2.2.6 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.5 05-Dec-2016  skrll Sync with HEAD
 1.1.1.2.2.4 29-May-2016  skrll Sync with HEAD
 1.1.1.2.2.3 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.2 22-Sep-2015  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utxfinit.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utxfinit.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utxfinit.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000
 1.1 27-Dec-2013  christos branches: 1.1.1;
Initial revision
 1.1.1.14 24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.13 24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.12 01-Sep-2023  christos branches: 1.1.1.12.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.11 27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.10 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.9 28-Mar-2020  christos branches: 1.1.1.9.4; 1.1.1.9.6;
 1.1.1.8 29-Apr-2019  christos 
 1.1.1.7 07-Apr-2018  christos branches: 1.1.1.7.2;
 1.1.1.6 15-Sep-2017  christos branches: 1.1.1.6.2;
 1.1.1.5 25-Jan-2017  christos One more time in the right place...
 1.1.1.4 09-Jan-2016  christos branches: 1.1.1.4.2; 1.1.1.4.4;
import new acpica:
 1.1.1.3 13-Apr-2015  christos 
 1.1.1.2 25-Oct-2014  christos branches: 1.1.1.2.2;
 1.1.1.1 27-Dec-2013  christos branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
import new acpica
 1.1.1.12.6.1 02-Aug-2025  perseant Sync with HEAD
 1.1.1.9.6.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.9.4.1 03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.7.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.6.2.1 16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.4.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.1.4.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.2.2.3 05-Feb-2017  skrll Sync with HEAD
 1.1.1.2.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.2.1 06-Jun-2015  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 27-Dec-2013  tls file utxfmutex.c was added on branch tls-maxphys on 2014-08-20 00:03:56 +0000
 1.1.1.1.6.2 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.6.1 27-Dec-2013  yamt file utxfmutex.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 27-Dec-2013  rmind file utxfmutex.c was added on branch rmind-smpnet on 2014-05-18 17:45:52 +0000

RSS XML Feed