From 9888d05064c3f24a60c6d0458579efa80571a865 Mon Sep 17 00:00:00 2001 From: Al Stone Date: Oct 06 2017 23:40:04 +0000 Subject: New upstream version 20170929 --- diff --git a/changes.txt b/changes.txt index db25f7e..b40fa32 100644 --- a/changes.txt +++ b/changes.txt @@ -1,4 +1,104 @@ ---------------------------------------- +29 September 2017. Summary of changes for version 20170929: + + +1) ACPICA kernel-resident subsystem: + +Redesigned and implemented an improved ASL While() loop timeout +mechanism. This mechanism is used to prevent infinite loops in the kernel +AML interpreter caused by either non-responsive hardware or incorrect AML +code. The new implementation uses AcpiOsGetTimer instead of a simple +maximum loop count, and is thus more accurate and constant across +different machines. The default timeout is currently 30 seconds, but this +may be adjusted later. + +Renamed the ACPI_AML_INFINITE_LOOP exception to AE_AML_LOOP_TIMEOUT to +better reflect the new implementation of the loop timeout mechanism. + +Updated the AcpiGetTimerDuration interface to cleanup the 64-bit support +and to fix an off-by-one error. Jung-uk Kim. + +Fixed an EFI build problem by updating the makefiles to for a new file +that was added, utstrsuppt.c + + +2) iASL Compiler/Disassembler and Tools: + +Implemented full support for the PDTT, SDEV, and TPM2 ACPI tables. This +includes support in the table disassembler, compiler, and template +generator. + +iASL: Added an exception for an illegal type of recursive method +invocation. If a method creates named objects, the first recursive call +will fail at runtime. This change adds an error detection at compile time +to catch the problem up front. Note: Marking such a method as +"serialized" will not help with this problem, because the same thread can +acquire the method mutex more than once. Example compiler and runtime +output: + + Method (MTH1) + { + Name (INT1, 1) + MTH1 () + } + + dsdt.asl 22: MTH1 () + Error 6152 - ^ Illegal recursive call to method + that creates named objects (MTH1) + +Previous runtime exception: + ACPI Error: [INT1] Namespace lookup failure, + AE_ALREADY_EXISTS (20170831/dswload2-465) + +iASL: Updated support for External() opcodes to improve namespace +management and error detection. These changes are related to issues seen +with multiple-segment namespace pathnames within External declarations, +such as below: + + External(\_SB.PCI0.GFX0, DeviceObj) + External(\_SB.PCI0.GFX0.ALSI) + +iASL: Implemented support for multi-line error/warning messages. This +enables more detailed and helpful error messages as below, from the +initial deployment for the duplicate names error: + + DSDT.iiii 1692: Device(PEG2) { + Error 6074 - ^ Name already exists in scope +(PEG2) + + Original name creation/declaration below: + DSDT.iiii 93: External(\_SB.PCI0.PEG2, DeviceObj) + +AcpiXtract: Added additional flexibility to support differing input hex +dump formats. Specifically, hex dumps that contain partial disassembly +and/or comments within the ACPI table data definition. There exist some +dump utilities seen in the field that create this type of hex dump (such +as Simics). For example: + + DSDT @ 0xdfffd0c0 (10999 bytes) + Signature DSDT + Length 10999 + Revision 1 + Checksum 0xf3 (Ok) + OEM_ID BXPC + OEM_table_id BXDSDT + OEM_revision 1 + Creator_id 1280593481 + Creator_revision 537399345 + 0000: 44 53 44 54 f7 2a 00 00 01 f3 42 58 50 43 00 00 + ... + 2af0: 5f 4c 30 46 00 a4 01 + +Test suite: Miscellaneous changes/fixes: + More cleanup and simplification of makefiles + Continue compilation of test cases after a compile failure + Do not perform binary compare unless both files actually exist + +iASL: Performed some code/module restructuring. Moved all memory +allocation functions to new modules. Two new files, aslallocate.c and +aslcache.c + +---------------------------------------- 31 August 2017. Summary of changes for version 20170831: diff --git a/debian/README b/debian/README deleted file mode 100644 index 8b6f3ea..0000000 --- a/debian/README +++ /dev/null @@ -1,79 +0,0 @@ -acpica-unix ------------ - -This source release includes: - - -1) a cross-OS AML interpreter - -This is intended to allow commercial and open source operating systems -to be enabled for ACPI. OS specific code is still needed, but the -AML interpreter should greatly improve the development speed of ACPI -support. - -The AML interpreter source should be integrated into the kernel's -build process. We recommend establishing an automated method for -this, so later versions can also be incorporated easily. Please see -the documentation on the website for API and other implementation -information. - - -2) iasl, an ASL compiler/decompiler - -iasl compiles ASL (ACPI Source Language) into AML (ACPI Machine -Language). This AML is suitable for inclusion as a DSDT in system -firmware. It also can disassemble AML, for debugging purposes. - -To compile: - -cd compiler -make - -It has been compiled on Linux, but should easily port to other Unix -environments. - -Run 'iasl -h' for more information, or download the binary version for -documentation in PDF format. - - -3) acpisrc, a source code conversion tool - -acpisrc converts the standard form of the acpica source release (included -here) into a version that meets Linux coding guidelines. This consists -mainly of performing a series of string replacements and transformations -to the code. - -To compile: - -cd tools/acpisrc -make - -It has been compiled on Linux, but should easily port to other Unix -environments. - - -4) acpibin, an AML file tool - -acpibin compares AML files, dumps AML binary files to text files, -extracts binary AML from text files, and other AML file -manipulation. - -To compile: - -cd tools/acpibin -make - - -5) acpiexec, a user-space AML interpreter - -acpiexec allows the loading of ACPI tables and execution of control -methods from user space. Useful for debugging AML code and testing -the AML interpreter. - -To compile: - -cd tools/acpiexec -make - - -Thanks -- The ACPI CA Team diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index a567658..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,57 +0,0 @@ -Packaging Notes for Debian -========================== -Upstream has documentation that may or may not be licensed in a freely -redistributable manner. In an excess of caution, the manuals in question -are not include in the source we start with. You can still get your own -copies of the documentation from here: - - https://www.acpica.org/documentation/ - -The two manuals affected are: - - (1) ACPICA Reference Manual, describing the ACPI Component Architecture - in some detail, and - - (2) ASL Compiler Reference Manual, describing how to use iasl - -While there are man pages for the commands, they are very brief. The -documents above are recommended reading. - - -Preparing the Source Tarball -============================ -ACPICA upstream splits the git tree into two separate source tarballs for -Unix flavored use. We put them back together to make it easier to track -changes againt the upstream git tree. For example, to create the -orig.tar.gz for this version, the author did the following: - - $ cd workdir - $ wget https://www.acpica.org/download/acpica-unix2-20130117.tar.gz - $ wget https://www.acpica.org/download/acpitests-unix-20130117.tar.gz - -NB: note the use of "unix2" and "unix". - - $ mkdir acpica-unix-20130117 - $ cd acpica-unix-20130117 - $ tar --strip-components=1 -xzf ../acpica-unix2-20130117.tar.gz - $ tar --strip-components=1 -xzf ../acpitests-unix-20130117.tar.gz - -The source is now unpacked into the same directory structure used in -the upstream git tree. Now create the .orig.tar.gz: - - $ cd .. - $ tar czf acpica-unix_20130117.orig.tar.gz acpica-unix-20130117 - - -Test Cases -========== -The aapits tests do not currently build properly. They will be added to -this package once they do. In the meantime, ASL, template and misc tests -will be run as part of make check - - -Licensing -========= -The source for this package has been dual-licensed under the Intel -ACPI license or the GPLv2. Per that dual-licensing, this source package -is being redistributed under the terms of the GPLv2. diff --git a/debian/acpibin.1 b/debian/acpibin.1 deleted file mode 100644 index b8448a5..0000000 --- a/debian/acpibin.1 +++ /dev/null @@ -1,64 +0,0 @@ -.\" First parameter, NAME, should be all caps -.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -.\" other parameters are allowed: see man(7), man(1) -.TH ACPIBIN 1 "January 23, 2013" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -acpibin \- ACPI binary AML file utility -.SH SYNOPSIS -.B acpibin -.RI [