The NetBSD Project

CVS log for src/sys/external/bsd/acpica/dist/generate/release/build.sh

[BACK] Up to [cvs.NetBSD.org] / src / sys / external / bsd / acpica / dist / generate / release

Request diff between arbitrary revisions


Default branch: intel, MAIN


Revision 1.1.1.6 / (download) - annotate - [select for diffs] (vendor branch), Sat Dec 10 16:34:37 2022 UTC (3 months, 1 week ago) by christos
Branch: intel, MAIN
CVS Tags: netbsd-10-base, netbsd-10, acpica-20221020, HEAD
Changes since 1.1.1.5: +1 -1 lines
Diff to previous 1.1.1.5 (colored)

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.

Revision 1.1.1.5 / (download) - annotate - [select for diffs] (vendor branch), Thu Oct 28 14:43:14 2021 UTC (16 months, 3 weeks ago) by christos
Branch: intel, MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm, acpica-20220331, acpica-20211217, acpica-20210930
Changes since 1.1.1.4: +0 -1 lines
Diff to previous 1.1.1.4 (colored)

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.

Revision 1.1.1.3.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:38:11 2020 UTC (2 years, 3 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.1.1.3: +1 -1 lines
Diff to previous 1.1.1.3 (colored) next main 1.1.1.4 (colored)

Sync w/ HEAD.

Revision 1.1.1.4 / (download) - annotate - [select for diffs] (vendor branch), Fri Nov 27 16:56:51 2020 UTC (2 years, 3 months ago) by christos
Branch: intel, MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, acpica-20210604, acpica-20210331, acpica-20201113
Changes since 1.1.1.3: +1 -1 lines
Diff to previous 1.1.1.3 (colored)

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.

Revision 1.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Sun Aug 2 20:23:09 2020 UTC (2 years, 7 months ago) by christos
Branch: intel, MAIN
CVS Tags: acpica-20200717
Branch point for: thorpej-futex
Changes since 1.1.1.2: +6 -7 lines
Diff to previous 1.1.1.2 (colored)

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]

Revision 1.1.1.1.10.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:40 2017 UTC (5 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.1.1.1.10.2: +2 -0 lines
Diff to previous 1.1.1.1.10.2 (colored) to branchpoint 1.1.1.1 (colored) next main 1.1.1.2 (colored)

update from HEAD

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sat Oct 25 20:57:55 2014 UTC (8 years, 4 months ago) by christos
Branch: intel, MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache, acpica-20200430, acpica-20200326, acpica-20191213, acpica-20190816, acpica-20190405, acpica-20181213, acpica-20180810, acpica-20180427, acpica-20180313, acpica-20171110, acpica-20170831, acpica-20170303, acpica-20170119, acpica-20160930, acpica-20160527, acpica-20160422, acpica-20160108, acpica-20150717, acpica-20150410, acpica-20140926
Changes since 1.1.1.1: +2 -0 lines
Diff to previous 1.1.1.1 (colored)

----------------------------------------
26 September 2014. Summary of changes for version 20140926:

1) ACPICA kernel-resident subsystem:

Updated the GPIO operation region handler interface (GeneralPurposeIo).
In order to support GPIO Connection objects with multiple pins, along
with the related Field objects, the following changes to the interface
have been made: The Address is now defined to be the offset in bits of
the field unit from the previous invocation of a Connection. It can be
viewed as a "Pin Number Index" into the connection resource descriptor.
The BitWidth is the exact bit width of the field. It is usually one bit,
but not always. See the ACPICA reference guide (section 8.8.6.2.1) for
additional information and examples.

GPE support: During ACPICA/GPE initialization, ensure that all GPEs with
corresponding _Lxx/_Exx methods are disabled (they may have been enabled
by the firmware), so that they cannot fire until they are enabled via
AcpiUpdateAllGpes. Rafael J. Wysocki.

Added a new return flag for the Event/GPE status interfaces --
AcpiGetEventStatus and AcpiGetGpeStatus. The new
ACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or
GPE currently has a handler associated with it, and can thus actually
affect the system. Lv Zheng.

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:  99.1K Code, 27.3K Data, 126.4K Total
    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total
  Previous Release:
    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total
    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total

2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a memory allocation/free regression introduced in 20140828
that could cause the compiler to crash. This was introduced inadvertently
during the effort to eliminate compiler memory leaks. ACPICA BZ 1111,
1113.

iASL: Removed two error messages that have been found to create false
positives, until they can be fixed and fully validated (ACPICA BZ 1112):
1) Illegal forward reference within a method
2) Illegal reference across two methods

iASL: Implemented a new option (-lm) to create a hardware mapping file
that summarizes all GPIO, I2C, SPI, and UART connections. This option
works for both the compiler and disassembler. See the iASL compiler user
guide for additional information and examples (section 6.4.6).

AcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to
version 2. This corrects the AE_BAD_HEADER exception seen on systems with
a version 1 RSDP. Lv Zheng ACPICA BZ 1097.

AcpiExec: For Unix versions, don't attempt to put STDIN into raw mode
unless STDIN is actually a terminal. Assists with batch-mode processing.
ACPICA BZ 1114.

Disassembler/AcpiHelp: Added another large group of recognized _HID
values.


----------------------------------------
28 August 2014. Summary of changes for version 20140828:

1) ACPICA kernel-resident subsystem:

Fixed a problem related to the internal use of the Timer() operator where
a 64-bit divide could cause an attempted link to a double-precision math
library. This divide is not actually necessary, so the code was
restructured to eliminate it. Lv Zheng.

ACPI 5.1: Added support for the runtime validation of the _DSD package
(similar to the iASL support).

ACPI 5.1/Headers: Added support for the GICC affinity subtable to the
SRAT table. Hanjun Guo <hanjun.guo@linaro.org>.

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:  98.8K Code, 27.3K Data, 126.1K Total
    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total
  Previous Release:
    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1
    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total

2) iASL Compiler/Disassembler and Tools:

AcpiExec: Fixed a problem on unix systems where the original terminal
state was not always properly restored upon exit. Seen when using the -v
option. ACPICA BZ 1104.

iASL: Fixed a problem with the validation of the ranges/length within the
Memory24 resource descriptor. There was a boundary condition when the
range was equal to the (length -1) caused by the fact that these values
are defined in 256-byte blocks, not bytes. ACPICA BZ 1098

Disassembler: Fixed a problem with the GpioInt descriptor interrupt
polarity
flags. The flags are actually 2 bits, not 1, and the "ActiveBoth" keyword
is
now supported properly.

ACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported
in the disassembler, data table compiler, and table template generator.

iASL: Added a requirement for Device() objects that one of either a _HID
or _ADR must exist within the scope of a Device, as per the ACPI
specification. Remove a similar requirement that was incorrectly in place
for the _DSD object.

iASL: Added error detection for illegal named references within control
methods that would cause runtime failures. Now trapped as errors are: 1)
References to objects within a non-parent control method. 2) Forward
references (within a method) -- for control methods, AML interpreters use
a one-pass parse of control methods. ACPICA BZ 1008.

iASL: Added error checking for dependencies related to the _PSx power
methods. ACPICA BZ 1029.
1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,
_PS3.
2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same
scope.

iASL and table compiler: Cleanup miscellaneous memory leaks by fully
deploying the existing object and string caches and adding new caches for
the table compiler.

iASL: Split the huge parser source file into multiple subfiles to improve
manageability. Generation now requires the M4 macro preprocessor, which
is part of the Bison distribution on both unix and windows platforms.

AcpiSrc: Fixed and removed all extraneous warnings generated during
entire ACPICA source code scan and/or conversion.


----------------------------------------

24 July 2014. Summary of changes for version 20140724:

The ACPI 5.1 specification has been released and is available at:
http://uefi.org/specs/access


0) ACPI 5.1 support in ACPICA:

ACPI 5.1 is fully supported in ACPICA as of this release.

New predefined names. Support includes iASL and runtime ACPICA
validation.
    _CCA (Cache Coherency Attribute).
    _DSD (Device-Specific Data). David Box.

Modifications to existing ACPI tables. Support includes headers, iASL
Data Table compiler, disassembler, and the template generator.
    FADT - New fields and flags. Graeme Gregory.
    GTDT - One new subtable and new fields. Tomasz Nowicki.
    MADT - Two new subtables. Tomasz Nowicki.
    PCCT - One new subtable.

Miscellaneous.
    New notification type for System Resource Affinity change events.


1) ACPICA kernel-resident subsystem:

Fixed a regression introduced in 20140627 where a fault can happen during
the deletion of Alias AML namespace objects. The problem affected both
the core ACPICA and the ACPICA tools including iASL and AcpiExec.

Implemented a new GPE public interface, AcpiMarkGpeForWake. Provides a
simple mechanism to enable wake GPEs that have no associated handler or
control method. Rafael Wysocki.

Updated the AcpiEnableGpe interface to disallow the enable if there is no
handler or control method associated with the particular GPE. This will
help avoid meaningless GPEs and even GPE floods. Rafael Wysocki.

Updated GPE handling and dispatch by disabling the GPE before clearing
the status bit for edge-triggered GPEs. Lv Zheng.

Added Timer() support to the AML Debug object. The current timer value is
now displayed with each invocation of (Store to) the debug object to
enable simple generation of execution times for AML code (method
execution for example.) ACPICA BZ 1093.

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:  98.7K Code, 27.3K Data, 126.0K Total
    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total
  Previous Release:
    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total
    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total


2) iASL Compiler/Disassembler and Tools:

Fixed an issue with the recently added local printf implementation,
concerning width/precision specifiers that could cause incorrect output.
Lv Zheng. ACPICA BZ 1094.

Disassembler: Added support to detect buffers that contain UUIDs and
disassemble them to an invocation of the ToUUID operator. Also emit
commented descriptions of known ACPI-related UUIDs.

AcpiHelp: Added support to display known ACPI-related UUIDs. New option,
-u. Adds three new files.

iASL: Update table compiler and disassembler for DMAR table changes that
were introduced in September 2013. With assistance by David Woodhouse.

----------------------------------------
27 June 2014. Summary of changes for version 20140627:

1) ACPICA kernel-resident subsystem:

Formatted Output: Implemented local versions of standard formatted output
utilities such as printf, etc. Over time, it has been discovered that
there are in fact many portability issues with printf, and the addition
of this feature will fix/prevent these issues once and for all. Some
known issues are summarized below:

1) Output of 64-bit values is not portable. For example, UINT64 is %ull
for the Linux kernel and is %uI64 for some MSVC versions.
2) Invoking printf consistently in a manner that is portable across both
32-bit and 64-bit platforms is difficult at best in many situations.
3) The output format for pointers varies from system to system (leading
zeros especially), and leads to inconsistent output from ACPICA across
platforms.
4) Certain platform-specific printf formats may conflict with ACPICA use.
5) If there is no local C library available, ACPICA now has local support
for printf.

-- To address these printf issues in a complete manner, ACPICA now
directly implements a small subset of printf format specifiers, only
those that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.

Implemented support for ACPICA generation within the EFI environment.
Initially, the AcpiDump utility is supported in the UEFI shell
environment. Lv Zheng.

Added a new external interface, AcpiLogError, to improve ACPICA
portability. This allows the host to redirect error messages from the
ACPICA utilities. Lv Zheng.

Added and deployed new OSL file I/O interfaces to improve ACPICA
portability:
  AcpiOsOpenFile
  AcpiOsCloseFile
  AcpiOsReadFile
  AcpiOsWriteFile
  AcpiOsGetFileOffset
  AcpiOsSetFileOffset
There are C library implementations of these functions in the new file
service_layers/oslibcfs.c -- however, the functions can be implemented by
the local host in any way necessary. Lv Zheng.

Implemented a mechanism to disable/enable ACPI table checksum validation
at runtime. This can be useful when loading tables very early during OS
initialization when it may not be possible to map the entire table in
order to compute the checksum. Lv Zheng.

Fixed a buffer allocation issue for the Generic Serial Bus support.
Originally, a fixed buffer length was used. This change allows for
variable-length buffers based upon the protocol indicated by the field
access attributes. Reported by Lan Tianyu. Lv Zheng.

Fixed a problem where an object detached from a namespace node was not
properly terminated/cleared and could cause a circular list problem if
reattached. ACPICA BZ 1063. David Box.

Fixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.

Fixed a possible memory leak in an error return path within the function
AcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.

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:  98.7K Code, 27.2K Data, 125.9K Total
    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total
  Previous Release:
    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total
    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Add dump of ASCII equivalent text within a comment at the
end of each line of the output for the Buffer() ASL operator.

AcpiDump: Miscellaneous changes:
  Fixed repetitive table dump in -n mode.
  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if
the ACPI 2.0 GUID fails.

iASL: Fixed a problem where the compiler could fault if incorrectly given
an acpidump output file as input. ACPICA BZ 1088. David Box.

AcpiExec/AcpiNames: Fixed a problem where these utilities could fault if
they are invoked without any arguments.

Debugger: Fixed a possible memory leak in an error return path. ACPICA BZ
1086. Colin Ian King.

Disassembler: Cleaned up a block of code that extracts a parent Op
object. Added a comment that explains that the parent is guaranteed to be
valid in this case. ACPICA BZ 1069.

----------------------------------------
24 April 2014. Summary of changes for version 20140424:

1) ACPICA kernel-resident subsystem:

Implemented support to skip/ignore NULL address entries in the RSDT/XSDT.
Some of these tables are known to contain a trailing NULL entry. Lv
Zheng.

Removed an extraneous error message for the case where there are a large
number of system GPEs (> 124). This was the "32-bit FADT register is too
long to convert to GAS struct" message, which is irrelevant for GPEs
since the GPEx_BLK_LEN fields of the FADT are always used instead of the
(limited capacity) GAS bit length. Also, several changes to ensure proper
support for GPE numbers > 255, where some "GPE number" fields were 8-bits
internally.

Implemented and deployed additional configuration support for the public
ACPICA external interfaces. Entire classes of interfaces can now be
easily modified or configured out, replaced by stubbed inline functions
by default. Lv Zheng.

Moved all public ACPICA runtime configuration globals to the public
ACPICA external interface file for convenience. Also, removed some
obsolete/unused globals. See the file acpixf.h. Lv Zheng.

Documentation: Added a new section to the ACPICA reference describing the
maximum number of GPEs that can be supported by the FADT-defined GPEs in
block zero and one. About 1200 total. See section 4.4.1 of the ACPICA
reference.

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:  96.8K Code, 27.2K Data, 124.0K Total
    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total
  Previous Release:
    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total
    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total


2) iASL Compiler/Disassembler and Tools:

iASL and disassembler: Add full support for the LPIT table (Low Power
Idle Table). Includes support in the disassembler, data table compiler,
and template generator.

AcpiDump utility:
1) Add option to force the use of the RSDT (over the XSDT).
2) Improve validation of the RSDP signature (use 8 chars instead of 4).

iASL: Add check for predefined packages that are too large.  For
predefined names that contain subpackages, check if each subpackage is
too large. (Check for too small already exists.)

Debugger: Updated the GPE command (which simulates a GPE by executing the
GPE code paths in ACPICA). The GPE device is now optional, and defaults
to the GPE 0/1 FADT-defined blocks.

Unix application OSL: Update line-editing support. Add additional error
checking and take care not to reset terminal attributes on exit if they
were never set. This should help guarantee that the terminal is always
left in the previous state on program exit.

----------------------------------------
25 March 2014. Summary of changes for version 20140325:

1) ACPICA kernel-resident subsystem:

Updated the auto-serialize feature for control methods. This feature
automatically serializes all methods that create named objects in order
to prevent runtime errors. The update adds support to ignore the
currently executing AML SyncLevel when invoking such a method, in order
to prevent disruption of any existing SyncLevel priorities that may exist
in the AML code. Although the use of SyncLevels is relatively rare, this
change fixes a regression where an AE_AML_MUTEX_ORDER exception can
appear on some machines starting with the 20140214 release.

Added a new external interface to allow the host to install ACPI tables
very early, before the namespace is even created. AcpiInstallTable gives
the host additional flexibility for ACPI table management. Tables can be
installed directly by the host as if they had originally appeared in the
XSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables
(anything except the DSDT and FACS). Adds a new file, tbdata.c, along
with additional internal restructuring and cleanup. See the ACPICA
Reference for interface details. Lv Zheng.

Added validation of the checksum for all incoming dynamically loaded
tables (via external interfaces or via AML Load/LoadTable operators). Lv
Zheng.

Updated the use of the AcpiOsWaitEventsComplete interface during Notify
and GPE handler removal. Restructured calls to eliminate possible race
conditions. Lv Zheng.

Added a warning for the use/execution of the ASL/AML Unload (table)
operator. This will help detect and identify machines that use this
operator if and when it is ever used. This operator has never been seen
in the field and the usage model and possible side-effects of the drastic
runtime action of a full table removal are unknown.

Reverted the use of #pragma push/pop which was introduced in the 20140214
release. It appears that push and pop are not implemented by enough
compilers to make the use of this feature feasible for ACPICA at this
time. However, these operators may be deployed in a future ACPICA
release.

Added the missing EXPORT_SYMBOL macros for the install and remove SCI
handler interfaces.

Source code generation:
1) Disabled the use of the "strchr" macro for the gcc-specific
generation. For some versions of gcc, this macro can periodically expose
a compiler bug which in turn causes compile-time error(s).
2) Added support for PPC64 compilation. Colin Ian King.

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:  97.0K Code, 27.2K Data, 124.2K Total
    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total
  Previous Release:
    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total
    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Added several new features to improve the readability of
the resulting ASL code. Extra information is emitted within comment
fields in the ASL code:
1) Known _HID/_CID values are decoded to descriptive text.
2) Standard values for the Notify() operator are decoded to descriptive
text.
3) Target operands are expanded to full pathnames (in a comment) when
possible.

Disassembler: Miscellaneous updates for extern() handling:
1) Abort compiler if file specified by -fe option does not exist.
2) Silence unnecessary warnings about argument count mismatches.
3) Update warning messages concerning unresolved method externals.
4) Emit "UnknownObj" keyword for externals whose type cannot be
determined.

AcpiHelp utility:
1) Added the -a option to display both the ASL syntax and the AML
encoding for an input ASL operator. This effectively displays all known
information about an ASL operator with one AcpiHelp invocation.
2) Added substring match support (similar to a wildcard) for the -i
(_HID/PNP IDs) option.

iASL/Disassembler: Since this tool does not yet support execution on big-
endian machines, added detection of endianness and an error message if
execution is attempted on big-endian. Support for big-endian within iASL
is a feature that is on the ACPICA to-be-done list.

AcpiBin utility:
1) Remove option to extract binary files from an acpidump; this function
is made obsolete by the AcpiXtract utility.
2) General cleanup of open files and allocated buffers.

----------------------------------------
14 February 2014. Summary of changes for version 20140214:

1) ACPICA kernel-resident subsystem:

Implemented a new mechanism to proactively prevent problems with ill-
behaved reentrant control methods that create named ACPI objects. This
behavior is illegal as per the ACPI specification, but is nonetheless
frequently seen in the field. Previously, this could lead to an
AE_ALREADY_EXISTS exception if the method was actually entered by more
than one thread. This new mechanism detects such methods at table load
time and marks them "serialized" to prevent reentrancy. A new global
option, AcpiGbl_AutoSerializeMethods, has been added to disable this
feature if desired. This mechanism and global option obsoletes and
supersedes the previous AcpiGbl_SerializeAllMethods option.

Added the "Windows 2013" string to the _OSI support. ACPICA will now
respond TRUE to _OSI queries with this string. It is the stated policy of
ACPICA to add new strings to the _OSI support as soon as possible after
they are defined. See the full ACPICA _OSI policy which has been added to
the utilities/utosi.c file.

Hardened/updated the _PRT return value auto-repair code:
1) Do not abort the repair on a single subpackage failure, continue to
check all subpackages.
2) Add check for the minimum subpackage length (4).
3) Properly handle extraneous NULL package elements.

Added support to avoid the possibility of infinite loops when traversing
object linked lists. Never allow an infinite loop, even in the face of
corrupted object lists.

ACPICA headers: Deployed the use of #pragma pack(push) and #pragma
pack(pop) directives to ensure that the ACPICA headers are independent of
compiler settings or other host headers.

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:  96.5K Code, 27.2K Data, 123.7K Total
    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total
  Previous Release:
    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total
    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total


2) iASL Compiler/Disassembler and Tools:

iASL/Table-compiler: Fixed a problem with support for the SPMI table. The
first reserved field was incorrectly forced to have a value of zero. This
change correctly forces the field to have a value of one. ACPICA BZ 1081.

Debugger: Added missing support for the "Extra" and "Data" subobjects
when displaying object data.

Debugger: Added support to display entire object linked lists when
displaying object data.

iASL: Removed the obsolete -g option to obtain ACPI tables from the
Windows registry. This feature has been superseded by the acpidump
utility.

----------------------------------------
14 January 2014. Summary of changes for version 20140114:

1) ACPICA kernel-resident subsystem:

Updated all ACPICA copyrights and signons to 2014. Added the 2014
copyright to all module headers and signons, including the standard Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, all ACPICA utilities, and the test suites.

Improved parameter validation for AcpiInstallGpeBlock. Added the
following checks:
1) The incoming device handle refers to type ACPI_TYPE_DEVICE.
2) There is not already a GPE block attached to the device.
Likewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a
device.

Correctly support "references" in the ACPI_OBJECT. This change fixes the
support to allow references (namespace nodes) to be passed as arguments
to control methods via the evaluate object interface. This is probably
most useful for testing purposes, however.

Improved support for 32/64 bit physical addresses in printf()-like
output. This change improves the support for physical addresses in printf
debug statements and other output on both 32-bit and 64-bit hosts. It
consistently outputs the appropriate number of bytes for each host. The
%p specifier is unsatisfactory since it does not emit uniform output on
all hosts/clib implementations (on some, leading zeros are not supported,
leading to difficult-to-read output).

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:  96.2K Code, 27.0K Data, 123.2K Total
    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total
  Previous Release:
    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total
    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Fix a possible fault when using the Connection() operator. Fixes a
problem if the parent Field definition for the Connection operator refers
to an operation region that does not exist. ACPICA BZ 1064.

AcpiExec: Load of local test tables is now optional. The utility has the
capability to load some various tables to test features of ACPICA.
However, there are enough of them that the output of the utility became
confusing. With this change, only the required local tables are displayed
(RSDP, XSDT, etc.) along with the actual tables loaded via the command
line specification. This makes the default output simler and easier to
understand. The -el command line option restores the original behavior
for testing purposes.

AcpiExec: Added support for overlapping operation regions. This change
expands the simulation of operation regions by supporting regions that
overlap within the given address space. Supports SystemMemory and
SystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.

AcpiExec: Added region handler support for PCI_Config and EC spaces. This
allows AcpiExec to simulate these address spaces, similar to the current
support for SystemMemory and SystemIO.

Debugger: Added new command to read/write/compare all namespace objects.
The command "test objects" will exercise the entire namespace by writing
new values to each data object, and ensuring that the write was
successful. The original value is then restored and verified.

Debugger: Added the "test predefined" command. This change makes this
test public and puts it under the new "test" command. The test executes
each and every predefined name within the current namespace.

Revision 1.1.1.1.10.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:53 2014 UTC (8 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.1.1.1.10.1: +478 -0 lines
Diff to previous 1.1.1.1.10.1 (colored) to branchpoint 1.1.1.1 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.1.1.1.6.2 / (download) - annotate - [select for diffs], Thu May 22 11:40:39 2014 UTC (8 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.1.1.1.6.1: +478 -0 lines
Diff to previous 1.1.1.1.6.1 (colored) to branchpoint 1.1.1.1 (colored) next main 1.1.1.2 (colored)

sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.1.1.1.4.2 / (download) - annotate - [select for diffs], Sun May 18 17:45:50 2014 UTC (8 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1.1.1.4.1: +478 -0 lines
Diff to previous 1.1.1.1.4.1 (colored) to branchpoint 1.1.1.1 (colored) next main 1.1.1.2 (colored)

sync with head

Revision 1.1.1.1.10.1, Fri Dec 27 18:45:57 2013 UTC (9 years, 2 months ago) by tls
Branch: tls-maxphys
Changes since 1.1.1.1: +0 -478 lines
FILE REMOVED

file build.sh was added on branch tls-maxphys on 2014-08-20 00:03:53 +0000

Revision 1.1.1.1.6.1, Fri Dec 27 18:45:57 2013 UTC (9 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.1.1.1: +0 -478 lines
FILE REMOVED

file build.sh was added on branch yamt-pagecache on 2014-05-22 11:40:39 +0000

Revision 1.1.1.1.4.1, Fri Dec 27 18:45:57 2013 UTC (9 years, 2 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1.1.1: +0 -478 lines
FILE REMOVED

file build.sh was added on branch rmind-smpnet on 2014-05-18 17:45:50 +0000

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Fri Dec 27 18:45:57 2013 UTC (9 years, 2 months ago) by christos
Branch: intel, MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, acpica-20131218
Branch point for: yamt-pagecache, tls-maxphys, rmind-smpnet
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

import new acpica

Revision 1.1 / (download) - annotate - [select for diffs], Fri Dec 27 18:45:57 2013 UTC (9 years, 2 months ago) by christos
Branch point for: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>