svn commit: r253690 - in head/sys/contrib/dev/acpica: . common compiler components/executer components/hardware components/namespace components/tables components/utilities include
jkim at FreeBSD.org
Fri Jul 26 21:34:10 UTC 2013
Date: Fri Jul 26 21:34:09 2013
New Revision: 253690
Merge ACPICA 20130725.
head/sys/contrib/dev/acpica/changes.txt (contents, props changed)
head/sys/contrib/dev/acpica/ (props changed)
head/sys/contrib/dev/acpica/common/ (props changed)
head/sys/contrib/dev/acpica/compiler/ (props changed)
head/sys/contrib/dev/acpica/components/debugger/ (props changed)
head/sys/contrib/dev/acpica/components/disassembler/ (props changed)
head/sys/contrib/dev/acpica/components/dispatcher/ (props changed)
head/sys/contrib/dev/acpica/components/events/ (props changed)
head/sys/contrib/dev/acpica/components/executer/ (props changed)
head/sys/contrib/dev/acpica/components/hardware/ (props changed)
head/sys/contrib/dev/acpica/components/namespace/ (props changed)
head/sys/contrib/dev/acpica/components/parser/ (props changed)
head/sys/contrib/dev/acpica/components/resources/ (props changed)
head/sys/contrib/dev/acpica/components/tables/ (props changed)
head/sys/contrib/dev/acpica/components/utilities/ (props changed)
head/sys/contrib/dev/acpica/include/ (props changed)
head/sys/contrib/dev/acpica/os_specific/ (props changed)
--- head/sys/contrib/dev/acpica/changes.txt Fri Jul 26 21:25:18 2013 (r253689)
+++ head/sys/contrib/dev/acpica/changes.txt Fri Jul 26 21:34:09 2013 (r253690)
@@ -1,4 +1,76 @@
+25 July 2013. Summary of changes for version 20130725:
+1) ACPICA kernel-resident subsystem:
+Fixed a problem with the DerefOf operator where references to FieldUnits
+and BufferFields incorrectly returned the parent object, not the actual
+value of the object. After this change, a dereference of a FieldUnit
+reference results in a read operation on the field to get the value, and
+likewise, the appropriate BufferField value is extracted from the target
+Fixed a problem where the _WAK method could cause a fault under these
+circumstances: 1) Interpreter slack mode was not enabled, and 2) the _WAK
+method returned no value. The problem is rarely seen because most kernels
+run ACPICA in slack mode.
+For the DerefOf operator, a fatal error now results if an attempt is made
+to dereference a reference (created by the Index operator) to a NULL
+package element. Provides compatibility with other ACPI implementations,
+and this behavior will be added to a future version of the ACPI
+The ACPI Power Management Timer (defined in the FADT) is now optional.
+This provides compatibility with other ACPI implementations and will
+appear in the next version of the ACPI specification. If there is no PM
+Timer on the platform, AcpiGetTimer returns AE_SUPPORT. An address of
+zero in the FADT indicates no PM timer.
+Implemented a new interface for _OSI support, AcpiUpdateInterfaces. This
+allows the host to globally enable/disable all vendor strings, all
+feature strings, or both. Intended to be primarily used for debugging
+purposes only. Lv Zheng.
+Expose the collected _OSI data to the host via a global variable. This
+data tracks the highest level vendor ID that has been invoked by the BIOS
+so that the host (and potentially ACPICA itself) can change behaviors
+based upon the age of the BIOS.
+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.1K Data, 123.3K Total
+ Debug Version: 184.4K Code, 76.8K Data, 261.2K Total
+ Previous Release:
+ Non-Debug Version: 95.9K Code, 26.9K Data, 122.8K Total
+ Debug Version: 184.1K Code, 76.7K Data, 260.8K Total
+2) iASL Compiler/Disassembler and Tools:
+iASL: Created the following enhancements for the -so option (create
+1)Add offsets for the last nameseg in each namepath for every supported
+2)Add support for Processor, Device, Thermal Zone, and Scope objects
+3)Add the actual AML opcode for the parent object of every supported
+4)Add support for the ZERO/ONE/ONES AML opcodes for integer objects
+Disassembler: Emit all unresolved external symbols in a single block.
+These are external references to control methods that could not be
+resolved, and thus, the disassembler had to make a guess at the number of
+arguments to parse.
+iASL: The argument to the -T option (create table template) is now
+optional. If not specified, the default table is a DSDT, typically the
+most common case.
26 June 2013. Summary of changes for version 20130626:
1) ACPICA kernel-resident subsystem:
@@ -65,12 +137,14 @@ longer executed properly because of a me
initialized correctly. ACPICA BZ 1016. Tomasz Nowicki
<tomasz.nowicki at linaro.org>.
-Fixed a possible problem with the new extended sleep registers in the ACPI
+Fixed a possible problem with the new extended sleep registers in the
5.0 FADT. Do not use these registers (even if populated) unless the HW-
reduced bit is set in the FADT (as per the ACPI specification). ACPICA BZ
1020. Lv Zheng.
-Implemented return value repair code for _CST predefined objects: Sort the
+Implemented return value repair code for _CST predefined objects: Sort
list and detect/remove invalid entries. ACPICA BZ 890. Lv Zheng.
Implemented a debug-only option to disable loading of SSDTs from the
@@ -87,7 +161,8 @@ BZ 1013.
4) Clear debug buffer global on termination to prevent possible multiple
delete. ACPICA BZ 1010.
-Standardized all switch() blocks across the entire source base. After many
+Standardized all switch() blocks across the entire source base. After
years, different formatting for switch() had crept in. This change makes
the formatting of every switch block identical. ACPICA BZ 997. Chao Guan.
@@ -118,7 +193,8 @@ has a much larger code and data size.
2) iASL Compiler/Disassembler and Tools:
New utility: Implemented an easily portable version of the acpidump
-utility to extract ACPI tables from the system (or a file) in an ASCII hex
+utility to extract ACPI tables from the system (or a file) in an ASCII
dump format. The top-level code implements the various command line
options, file I/O, and table dump routines. To port to a new host, only
three functions need to be implemented to get tables -- since this
@@ -152,7 +228,8 @@ iASL: Added control method and package s
iASL: issue a remark if a non-serialized method creates named objects. If
a thread blocks within the method for any reason, and another thread
-enters the method, the method will fail because an attempt will be made to
+enters the method, the method will fail because an attempt will be made
create the same (named) object twice. In this case, issue a remark that
the method should be marked serialized. NOTE: may become a warning later.
ACPICA BZ 909.
@@ -165,10 +242,13 @@ ACPICA BZ 909.
Fixed a possible buffer overrun during some rare but specific field unit
read operations. This overrun can only happen if the DSDT version is 1 --
meaning that all AML integers are 32 bits -- and the field length is
-between 33 and 55 bits long. During the read, an internal buffer object is
-created for the field unit because the field is larger than an integer (32
+between 33 and 55 bits long. During the read, an internal buffer object
+created for the field unit because the field is larger than an integer
bits). However, in this case, the buffer will be incorrectly written
-beyond the end because the buffer length is less than the internal minimum
+beyond the end because the buffer length is less than the internal
of 64 bits (8 bytes) long. The buffer will be either 5, 6, or 7 bytes
long, but a full 8 bytes will be written.
@@ -220,7 +300,8 @@ has a much larger code and data size.
2) iASL Compiler/Disassembler and Tools:
AcpiExec: Added installation of a handler for the SystemCMOS address
-space. This prevents control method abort if a method accesses this space.
+space. This prevents control method abort if a method accesses this
AcpiExec: Added support for multiple EC devices, and now install EC
operation region handler(s) at the actual EC device instead of the
@@ -235,7 +316,8 @@ AcpiExec installs a handler for every po
Debugger: Enhanced the "handlers" command to display non-root handlers.
This change enhances the handlers command to display handlers associated
with individual devices throughout the namespace, in addition to the
-currently supported display of handlers associated with the root namespace
+currently supported display of handlers associated with the root
ASL Test Suite: Several test suite errors have been identified and
@@ -264,7 +346,8 @@ return from this interface. Handles a po
ACPI_WAIT_FOREVER is modified by the host to be a value less than
"forever". Jung-uk Kim.
-Predefined name support: Add allowed/required argument type information to
+Predefined name support: Add allowed/required argument type information
the master predefined info table. This change adds the infrastructure to
enable typechecking on incoming arguments for all predefined
methods/objects. It does not actually contain the code that will fully
@@ -287,10 +370,12 @@ has a much larger code and data size.
2) iASL Compiler/Disassembler and Tools:
-iASL: Implemented a new option to simplify the development of ACPI-related
+iASL: Implemented a new option to simplify the development of ACPI-
BIOS code. Adds support for a new "offset table" output file. The -so
option will create a C table containing the AML table offsets of various
-named objects in the namespace so that BIOS code can modify them easily at
+named objects in the namespace so that BIOS code can modify them easily
boot time. This can simplify BIOS runtime code by eliminating expensive
searches for "magic values", enhancing boot times and adding greater
reliability. With assistance from Lee Hamel.
@@ -324,11 +409,13 @@ names table (above).
Fixed a possible regression on some hosts: Reinstated the safe return
macros (return_ACPI_STATUS, etc.) that ensure that the argument is
evaluated only once. Although these macros are not needed for the ACPICA
-code itself, they are often used by ACPI-related host device drivers where
+code itself, they are often used by ACPI-related host device drivers
the safe feature may be necessary.
Fixed several issues related to the ACPI 5.0 reduced hardware support
-(SOC): Now ensure that if the platform declares itself as hardware-reduced
+(SOC): Now ensure that if the platform declares itself as hardware-
via the FADT, the following functions become NOOPs (and always return
AE_OK) because ACPI is always enabled by definition on these machines:
@@ -341,13 +428,15 @@ predefined name return values. Both of t
the related device drivers that invoke these methods:
1) For the _STR and _MLS names, automatically repair/convert an ASCII
string to a Unicode buffer.
-2) For the _CRS, _PRS, and _DMA names, return a resource descriptor with a
+2) For the _CRS, _PRS, and _DMA names, return a resource descriptor with
lone end tag descriptor in the following cases: A Return(0) was executed,
a null buffer was returned, or no object at all was returned (non-slack
mode only). Adds a new file, nsconvert.c
ACPICA BZ 998. Bob Moore, Lv Zheng.
-Resource Manager: Added additional code to prevent possible infinite loops
+Resource Manager: Added additional code to prevent possible infinite
while traversing corrupted or ill-formed resource template buffers. Check
for zero-length resource descriptors in all code that loops through
resource templates (the length field is used to index through the
@@ -388,7 +477,8 @@ iASL: Implemented compile-time validatio
predefined names. This new feature validates static package objects
returned by the various predefined names defined to return packages. Both
object types and package lengths are validated, for both parent packages
-and sub-packages, if any. The code is similar in structure and behavior to
+and sub-packages, if any. The code is similar in structure and behavior
the runtime repair mechanism within the AML interpreter and uses the
existing predefined name information table. Adds a new file, aslprepkg.c.
ACPICA BZ 938.
@@ -405,7 +495,8 @@ assumes zero method arguments in these c
actual number of arguments without resolution/definition of the method).
Debugger: Added support to display all resources with a single command.
-Invocation of the resources command with no arguments will now display all
+Invocation of the resources command with no arguments will now display
resources within the current namespace.
AcpiHelp: Added descriptive text for each ACPICA exception code displayed
@@ -418,8 +509,10 @@ via the -e option.
Updated the AcpiGetSleepTypeData interface: Allow the \_Sx methods to
return either 1 or 2 integers. Although the ACPI spec defines the \_Sx
-objects to return a package containing one integer, most BIOS code returns
-two integers and the previous code reflects that. However, we also need to
+objects to return a package containing one integer, most BIOS code
+two integers and the previous code reflects that. However, we also need
support BIOS code that actually implements to the ACPI spec, and this
change reflects this.
@@ -463,12 +556,15 @@ attempt to flush data to the output file
This can cause an infinite loop as the max error count code essentially
keeps calling itself.
-iASL/Disassembler: Added an option (-in) to ignore NOOP opcodes/operators.
+iASL/Disassembler: Added an option (-in) to ignore NOOP
Implemented for both the compiler and the disassembler. Often, the NOOP
-opcode is used as padding for packages that are changed dynamically by the
+opcode is used as padding for packages that are changed dynamically by
BIOS. When disassembled and recompiled, these NOOPs will cause syntax
errors. This option causes the disassembler to ignore all NOOP opcodes
-(0xA3), and it also causes the compiler to ignore all ASL source code NOOP
+(0xA3), and it also causes the compiler to ignore all ASL source code
statements as well.
Debugger: Enhanced the Sleep command to execute all sleep states. This
@@ -499,7 +595,8 @@ the existing share bit. Reported by Aaro
Interpreter: Fix Store() when an implicit conversion is not possible. For
example, in the cases such as a store of a string to an existing package
object, implement the store as a CopyObject(). This is a small departure
-from the ACPI specification which states that the control method should be
+from the ACPI specification which states that the control method should
aborted in this case. However, the ASLTS suite depends on this behavior.
Performance improvement for the various FUNCTION_TRACE and DEBUG_PRINT
@@ -538,15 +635,18 @@ iASL: Disallow a method call as argument
This change tracks an errata to the ACPI 5.0 document. The AML grammar
will not allow the interpreter to differentiate between a method and a
method invocation when these are used as an argument to the ObjectType
-operator. The ACPI specification change is to disallow a method invocation
+operator. The ACPI specification change is to disallow a method
(UserTerm) for the ObjectType operator.
Finish support for the TPM2 and CSRT tables in the headers, table
compiler, and disassembler.
Unix user-space OSL: Fix a problem with WaitSemaphore where the timeout
-always expires immediately if the semaphore is not available. The original
-code was using a relative-time timeout, but sem_timedwait requires the use
+always expires immediately if the semaphore is not available. The
+code was using a relative-time timeout, but sem_timedwait requires the
of an absolute time.
iASL: Added a remark if the Timer() operator is used within a 32-bit
@@ -566,14 +666,18 @@ been updated.
Implemented a performance enhancement for ACPI/AML Package objects. This
change greatly increases the performance of Package objects within the
-interpreter. It changes the processing of reference counts for packages by
+interpreter. It changes the processing of reference counts for packages
optimizing for the most common case where the package sub-objects are
-either Integers, Strings, or Buffers. Increases the overall performance of
-the ASLTS test suite by 1.5X (Increases the Slack Mode performance by 2X.)
+either Integers, Strings, or Buffers. Increases the overall performance
+the ASLTS test suite by 1.5X (Increases the Slack Mode performance by
Chao Guan. ACPICA BZ 943.
Implemented and deployed common macros to extract flag bits from resource
-descriptors. Improves readability and maintainability of the code. Fixes a
+descriptors. Improves readability and maintainability of the code. Fixes
problem with the UART serial bus descriptor for the number of data bits
flags (was incorrectly 2 bits, should be 3).
@@ -607,14 +711,17 @@ carats (^). ACPICA BZ 984.
Debugger: Completed a major update for the Disassemble<method> command.
This command was out-of-date and did not properly disassemble control
-methods that had any reasonable complexity. This fix brings the command up
+methods that had any reasonable complexity. This fix brings the command
to the same level as the rest of the disassembler. Adds one new file,
dmdeferred.c, which is existing code that is now common with the main
disassembler and the debugger disassemble command. ACPICA MZ 978.
iASL: Moved the parser entry prototype to avoid a duplicate declaration.
-Newer versions of Bison emit this prototype, so moved the prototype out of
-the iASL header to where it is actually used in order to avoid a duplicate
+Newer versions of Bison emit this prototype, so moved the prototype out
+the iASL header to where it is actually used in order to avoid a
iASL/Tools: Standardized use of the stream I/O functions:
@@ -622,7 +729,8 @@ iASL/Tools: Standardized use of the stre
2) Ensure proper order of size/count arguments for fread/fwrite
3) Use test of (Actual != Requested) after all fwrite, and most fread
4) Standardize I/O error messages
-Improves reliability and maintainability of the code. Bob Moore, Lv Zheng.
+Improves reliability and maintainability of the code. Bob Moore, Lv
ACPICA BZ 981.
Disassembler: Prevent duplicate External() statements. During generation
@@ -744,7 +852,8 @@ ACPICA
Makefiles: Completely removed the obsolete "Linux" makefiles under
-acpica/generate/linux. These makefiles are obsolete and have been replaced
+acpica/generate/linux. These makefiles are obsolete and have been
the generic unix makefiles under acpica/generate/unix.
@@ -783,7 +892,8 @@ that is a named object. This change fixe
iASL: Fixed a regression where the AML file is not deleted on errors. The
-output file should be deleted if there are any errors during the compiler.
+output file should be deleted if there are any errors during the
only exception is if the -f (force output) option is used. ACPICA BZ 974.
@@ -838,7 +948,8 @@ ACPICA BZ 969.
Implemented support for complex bit-packed buffers returned from the _PLD
(Physical Location of Device) predefined method. Adds a new external
-interface, AcpiDecodePldBuffer that parses the buffer into a more usable C
+interface, AcpiDecodePldBuffer that parses the buffer into a more usable
structure. Note: C Bitfields cannot be used for this type of predefined
structure since the memory layout of individual bitfields is not defined
@@ -853,7 +964,8 @@ during
execution of module-level ASL code (code that is executed at table load
time.) Lin Ming.
-Added the Windows8/Server2012 string for the _OSI method. This change adds
+Added the Windows8/Server2012 string for the _OSI method. This change
new _OSI string, "Windows 2012" for both Windows 8 and Windows Server
@@ -870,14 +982,16 @@ GPE support: Removed an extraneous param
internal GPE functions. Tang Feng.
Removed the linux makefiles from the unix packages. The generate/linux
-makefiles are obsolete and have been removed from the unix tarball release
+makefiles are obsolete and have been removed from the unix tarball
packages. The replacement makefiles are under generate/unix, and there is
top-level makefile under the main acpica directory. ACPICA BZ 967, 912.
Updates for Unix makefiles:
1) Add -D_FORTIFY_SOURCE=2 for gcc generation. Arjan van de Ven.
-2) Update linker flags (move to end of command line) for AcpiExec utility.
+2) Update linker flags (move to end of command line) for AcpiExec
Split ACPICA initialization functions to new file, utxfinit.c. Split from
@@ -901,13 +1015,15 @@ much larger code and data size.
iASL: Fixed a problem with constant folding for fixed-length constant
expressions. The constant-folding code was not being invoked for constant
-expressions that allow the use of type 3/4/5 opcodes to generate constants
+expressions that allow the use of type 3/4/5 opcodes to generate
for expressions such as ByteConstExpr, WordConstExpr, etc. This could
in the generation of invalid AML bytecode. ACPICA BZ 970.
iASL: Fixed a generation issue on newer versions of Bison. Newer versions
-apparently automatically emit some of the necessary externals. This change
+apparently automatically emit some of the necessary externals. This
handles these versions in order to eliminate generation warnings.
Disassembler: Added support to decode the DBG2 and CSRT ACPI tables.
@@ -925,7 +1041,8 @@ AE_BAD_PARAMETER was always returned.
1) ACPICA Kernel-resident Subsystem:
Fixed a possible fault in the return package object repair code. Fixes a
-problem that can occur when a lone package object is wrapped with an outer
+problem that can occur when a lone package object is wrapped with an
package object in order to force conformance to the ACPI specification.
affect these predefined names: _ALR, _MLS, _PSS, _TRT, _TSS, _PRT, _HPX,
@@ -969,14 +1086,16 @@ table
and FADT errors. Additional deployment to be completed as appropriate in
future. The associated conditional macros are ACPI_BIOS_ERROR and
-ACPI_BIOS_WARNING. See the ACPICA reference for additional details. ACPICA
+ACPI_BIOS_WARNING. See the ACPICA reference for additional details.
Implicit notify support: ensure that no memory allocation occurs within a
critical region. This fix moves a memory allocation outside of the time
-spinlock is held. Fixes issues on systems that do not allow this behavior.
+spinlock is held. Fixes issues on systems that do not allow this
Split exception code utilities and tables into a new file,
@@ -1029,7 +1148,8 @@ generates a
runtime device notification in the absence of a BIOS-provided GPE control
method (_Lxx/_Exx) or a host-installed handler for the GPE. Implicit
-provided by ACPICA for Windows compatibility, and is a workaround for BIOS
+provided by ACPICA for Windows compatibility, and is a workaround for
code errors. See the description of the AcpiSetupGpeForWake interface in
@@ -1068,9 +1188,11 @@ etc.)
AcpiSrc: Fixed several long-standing Linux code translation issues.
-descriptions in function headers are now translated properly to lower case
+descriptions in function headers are now translated properly to lower
-underscores. ACPICA BZ 961. Also fixes translation problems such as these:
+underscores. ACPICA BZ 961. Also fixes translation problems such as
(old -> new)
i_aSL -> iASL
00-7_f -> 00-7F
@@ -1112,7 +1234,8 @@ additional information. ACPICA BZ 868.
ACPI Tables: Added a new error message for a possible overflow failure
-the conversion of FADT 32-bit legacy register addresses to internal common
+the conversion of FADT 32-bit legacy register addresses to internal
bit GAS structure representation. The GAS has a one-byte "bit length"
@@ -1149,7 +1272,8 @@ correct External statement.
Disassembler: Several additional fixes for the External() statement
related to some ASL operators. Also, order the External() statements
-alphabetically in the disassembler output. Fixes the External() generation
+alphabetically in the disassembler output. Fixes the External()
the Create* field, Alias, and Scope operators:
1) Create* buffer field operators - fix type mismatch warning on
@@ -1173,7 +1297,8 @@ condition.
iASL: Implemented some changes to enhance the IDE support (-vi option.)
-and Warning messages are now correctly recognized for both the source code
+and Warning messages are now correctly recognized for both the source
browser and the global error and warning counts.
@@ -1182,13 +1307,15 @@ browser and the global error and warning
1) ACPICA Core Subsystem:
-Implemented support for multiple notify handlers. This change adds support
+Implemented support for multiple notify handlers. This change adds
allow multiple system and device notify handlers on Device, Thermal Zone,
Processor objects. This can simplify the host OS notification
-Also re-worked and restructured the entire notify support code to simplify
+Also re-worked and restructured the entire notify support code to
handler installation, handler removal, notify event queuing, and notify
dispatch to handler(s). Note: there can still only be two global notify
handlers - one for system notifies and one for device notifies. There are
@@ -1229,7 +1356,8 @@ resource tags within resource descriptor
descriptor. Reported by Petr Vandrovec. ACPICA BZ 949.
-iASL and Preprocessor: Implemented full support for the #line directive to
+iASL and Preprocessor: Implemented full support for the #line directive
correctly track original source file line numbers through the .i
output file - for error and warning messages.
@@ -1250,7 +1378,8 @@ ASL Test Suite (ASLTS): Reduce iASL warn
for resource descriptor offset fix above. Update/cleanup error output
routines. Enable and send iASL errors/warnings to an error logfile
-(error.txt). Send all other iASL output to a logfile (compiler.txt). Fixed
+(error.txt). Send all other iASL output to a logfile (compiler.txt).
several extraneous "unrecognized operator" messages.
@@ -1260,7 +1389,8 @@ several extraneous "unrecognized operato
1) ACPICA Core Subsystem:
Enhanced the sleep/wake interfaces to optionally execute the _GTS method
-(Going To Sleep) and the _BFS method (Back From Sleep). Windows apparently
+(Going To Sleep) and the _BFS method (Back From Sleep). Windows
does not execute these methods, and therefore these methods are often
untested. It has been seen on some systems where the execution of these
methods causes errors and also prevents the machine from entering S5. It
@@ -1281,8 +1411,10 @@ early.
The local FADT table length cannot be set to the common length until the
original length has been examined. There is code that checks the table
-and sets various fields appropriately. This can affect older machines with
-early FADT versions. For example, this can cause inadvertent writes to the
+and sets various fields appropriately. This can affect older machines
+early FADT versions. For example, this can cause inadvertent writes to
CST_CNT register. Julian Anastasov.
Fixed a mapping issue related to a physical table override. Use the
@@ -1295,10 +1427,12 @@ Thomas Renninger, Bob Moore.
Enhanced the automatic return-object repair code: Repair a common problem
-predefined methods that are defined to return a variable-length Package of
+predefined methods that are defined to return a variable-length Package
sub-objects. If there is only one sub-object, some BIOS ASL code
-simply returns the single object instead of a Package with one sub-object.
+simply returns the single object instead of a Package with one sub-
This new support will repair this error by wrapping a Package object
the original object, creating the correct and expected Package with one
@@ -1393,7 +1527,8 @@ method. Some machines require that the G
is executed. Thomas Renninger.
-c) In AcpiLeaveSleepState, now always clear the WAK_STS (wake status) bit.
+c) In AcpiLeaveSleepState, now always clear the WAK_STS (wake status)
Some BIOS code assumes that WAK_STS will be cleared on resume and use it
determine whether the system is rebooting or resuming. Matthew Garrett.
@@ -1429,7 +1564,8 @@ build of ACPICA that supports only the A
See the ACPICA reference for details. ACPICA BZ 942. This option removes
-10% of the code and 5% of the static data, and the following hardware ACPI
+10% of the code and 5% of the static data, and the following hardware
features become unavailable:
PM Event and Control registers
SCI interrupt (and handler)
@@ -1442,7 +1578,8 @@ features become unavailable:
Updated the unix tarball directory structure to match the ACPICA git
tree. This ensures that the generic unix makefiles work properly (in
-generate/unix). Also updated the Linux makefiles to match. ACPICA BZ 867.
+generate/unix). Also updated the Linux makefiles to match. ACPICA BZ
Updated the return value of the _REV predefined method to integer value 5
@@ -1493,7 +1630,8 @@ the
ACPICA reference for additional details. Adds one new file,
utilities/utaddress.c. Lin Ming, Bob Moore.
-Fixed several issues with the ACPI 5.0 FADT support: Add the sleep Control
+Fixed several issues with the ACPI 5.0 FADT support: Add the sleep
Status registers, update the ACPI 5.0 flags, and update internal data
structures to handle an FADT larger than 256 bytes. The size of the ACPI
@@ -1551,7 +1689,8 @@ summarized below.
Reduced Hardware Support:
-This support allows for ACPI systems without the usual ACPI hardware. This
+This support allows for ACPI systems without the usual ACPI hardware.
support is enabled by a flag in the revision 5 FADT. If it is set, ACPICA
not attempt to initialize or use any of the usual ACPI hardware. Note,
@@ -1571,7 +1710,8 @@ ACPI Tables:
All new tables and updates to existing tables are fully supported in the
-ACPICA headers (for use by device drivers), the disassembler, and the iASL
+ACPICA headers (for use by device drivers), the disassembler, and the
Data Table Compiler. ACPI 5.0 defines these new tables:
BGRT /* Boot Graphics Resource Table */
@@ -1597,7 +1737,8 @@ The new operation region Space IDs are:
-All new ASL resource descriptors are fully supported by the iASL compiler,
+All new ASL resource descriptors are fully supported by the iASL
ASL/AML disassembler, and the ACPICA runtime Resource Manager code
@@ -1615,15 +1756,18 @@ ASL/AML Operators, New and Modified:
One new operator is added, the Connection operator, which is used to
-a GeneralPurposeIo or GenericSerialBus resource descriptor with individual
+a GeneralPurposeIo or GenericSerialBus resource descriptor with
field objects within an operation region. Several new protocols are
with the AccessAs operator. All are fully supported by the iASL compiler,
disassembler, and runtime ACPICA AML interpreter:
- Connection // Declare Field Connection attributes
+ Connection // Declare Field Connection
AccessAs: AttribBytes (n) // Read/Write N-Bytes Protocol
- AccessAs: AttribRawBytes (n) // Raw Read/Write N-Bytes Protocol
+ AccessAs: AttribRawBytes (n) // Raw Read/Write N-Bytes
AccessAs: AttribRawProcessBytes (n) // Raw Process Call Protocol
RawDataBuffer // Data type for Vendor Data
@@ -1658,7 +1802,8 @@ drivers and other host OS services:
AcpiAcquireMutex and AcpiReleaseMutex: These interfaces allow the host OS
acquire and release AML mutexes that are defined in the DSDT/SSDT tables
-provided by the BIOS. They are intended to be used in conjunction with the
+provided by the BIOS. They are intended to be used in conjunction with
ACPI 5.0 _DLM (Device Lock Method) in order to provide transaction-level
mutual exclusion with the AML code/interpreter.
@@ -1705,7 +1850,8 @@ Non-ACPI 5.0 changes for this release:
1) ACPICA Core Subsystem:
-Fix a problem with operation region declarations where a failure can occur
+Fix a problem with operation region declarations where a failure can
the region name and an argument that evaluates to an object (such as the
region address) are in different namespace scopes. Lin Ming, ACPICA BZ
@@ -1757,7 +1903,8 @@ now allowed after every <Term> grammar e
iASL: Fixed some possible aliasing warnings during generation. ACPICA BZ
-Disassembler: Fix problem with disassembly of the DataTableRegion operator
+Disassembler: Fix problem with disassembly of the DataTableRegion
where an inadvertent "Unhandled deferred opcode" message could be
@@ -1785,15 +1932,18 @@ Support for ACPI 5.0 in ACPICA has been
be released at the same time that ACPI 5.0 is officially released.
-The ACPI 5.0 specification is on track for release in the next few months.
+The ACPI 5.0 specification is on track for release in the next few
1) ACPICA Core Subsystem:
Fixed a problem where the maximum sleep time for the Sleep() operator was
-intended to be limited to two seconds, but was inadvertently limited to 20
+intended to be limited to two seconds, but was inadvertently limited to
-Linux and Unix makefiles: Added header file dependencies to ensure correct
+Linux and Unix makefiles: Added header file dependencies to ensure
generation of ACPICA core code and utilities. Also simplified the
considerably through the use of the vpath variable to specify search
@@ -1806,8 +1956,10 @@ iASL: Implemented support to check the a
access named Resource Descriptor fields. For example, if a resource field
-defined to be two bits, a warning is issued if a CreateXxxxField() is used
-with an incorrect bit length. This is implemented for all current resource
+defined to be two bits, a warning is issued if a CreateXxxxField() is
+with an incorrect bit length. This is implemented for all current
descriptor names. ACPICA BZ 930.
Disassembler: Fixed a byte ordering problem with the output of 24-bit and
@@ -1829,13 +1981,15 @@ AML output). Includes listings, hex file
iASL: Added -G option to the table compiler to allow the compilation of
-ACPI tables. The only part of a table that is required is the standard 36-
+ACPI tables. The only part of a table that is required is the standard
AcpiXtract: Ported to the standard ACPICA environment (with ACPICA
-which also adds correct 64-bit support. Also, now all output filenames are
+which also adds correct 64-bit support. Also, now all output filenames
completely lower case.
AcpiExec: Ignore any non-AML tables (tables other than DSDT or SSDT) when
@@ -1844,7 +1998,8 @@ exception is an FADT. This also fixes a
non-AML tables. ACPICA BZ 932.
-AcpiHelp: Added the AccessAs and Offset operators. Fixed a problem where a
+AcpiHelp: Added the AccessAs and Offset operators. Fixed a problem where
missing table terminator could cause a fault when using the -p option.
AcpiSrc: Fixed a possible divide-by-zero fault when generating file
@@ -1875,7 +2030,8 @@ Updated the predefined name repair mecha
return object if a _PSS object is present. We can only sort the _TSS
-package if there is no _PSS within the same scope. This is because if _PSS
+package if there is no _PSS within the same scope. This is because if
present, the ACPI specification dictates that the _TSS Power Dissipation
@@ -1887,9 +2043,11 @@ is. Reported by, and fixed with assistan
Added an option to globally disable the control method return value
-and repair. This runtime option can be used to disable return value repair
+and repair. This runtime option can be used to disable return value
-this is causing a problem on a particular machine. Also added an option to
+this is causing a problem on a particular machine. Also added an option
AcpiExec (-dr) to set this disable flag.
All makefiles and project files: Major changes to improve generation of
@@ -1935,11 +2093,13 @@ provides the following functionality:
of arguments, and the return value data type.
Find/display AML opcode name(s) -- with opcode, arguments, and
- Decode/display AML opcode -- with opcode name, arguments, and grammar.
+ Decode/display AML opcode -- with opcode name, arguments, and
Service Layers: Make multi-thread support configurable. Conditionally
-the multi-thread support so that threading libraries will not be linked if
+the multi-thread support so that threading libraries will not be linked
necessary. The only tool that requires multi-thread support is AcpiExec.
@@ -1972,7 +2132,8 @@ signature. Now, only allow SSDT, OEMx, a
interpreter errors and kernel faults. So now, we once again allow
only SSDT, OEMx, and now, also a null signature. (05/2011).
-Added the missing _TDL predefined name to the global name list in order to
+Added the missing _TDL predefined name to the global name list in order
enable validation. Affects both the core ACPICA code and the iASL
@@ -2039,11 +2200,14 @@ device even if there is no corresponding
EmbeddedControl. Fixes a problem seen on some machines and apparently is
compatible with Windows behavior. ACPICA BZ 875.
-Added more predefined methods that are eligible for automatic NULL package
-element removal. This change adds another group of predefined names to the
+Added more predefined methods that are eligible for automatic NULL
+element removal. This change adds another group of predefined names to
of names that can be repaired by having NULL package elements dynamically
-removed. This group are those methods that return a single variable-length
+removed. This group are those methods that return a single variable-
package containing simple data types such as integers, buffers, strings.
includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx,
@@ -2082,7 +2246,8 @@ data size.
iASL/DTC: Major update for new grammar features. Allow generic data types
-custom ACPI tables. Field names are now optional. Any line can be split to
+custom ACPI tables. Field names are now optional. Any line can be split
multiple lines using the continuation char (\). Large buffers now use
continuation character(s) and no colon on the continuation lines. See the
@@ -2108,7 +2273,8 @@ region declaration in the same scope. If
since it probably won't be executed. ACPICA BZ 915.
-iASL/DTC: Finish support for expression evaluation. Added a new expression
+iASL/DTC: Finish support for expression evaluation. Added a new
that implements c-style operator precedence and parenthesization. ACPICA
@@ -2129,10 +2295,12 @@ AcpiXtract: Fix for RSDP and dynamic SSD
headers in the acpidump file. Update the header validation to support
-tables. Problem introduced in previous AcpiXtract version in the change to
+tables. Problem introduced in previous AcpiXtract version in the change
support "wrong checksum" error messages emitted by acpidump utility.
-iASL: Add a * option to generate all template files (as a synonym for ALL)
+iASL: Add a * option to generate all template files (as a synonym for
"iasl -T *" or "iasl -T ALL".
@@ -2158,7 +2326,8 @@ root object was passed to the AcpiSetupG
Implemented support for "spurious" Global Lock interrupts. On some
-global lock interrupt can occur without the pending flag being set. Upon a
+global lock interrupt can occur without the pending flag being set. Upon
interrupt, we now ensure that a thread is actually waiting for the lock
@@ -2188,7 +2357,8 @@ header files, disassembler, table compil
-AcpiXtract: Correctly handle embedded comments and messages from AcpiDump.
+AcpiXtract: Correctly handle embedded comments and messages from
Apparently some or all versions of acpidump will occasionally emit a
@@ -2209,8 +2379,10 @@ for a user-defined address space. This i
1) ACPI CA Core Subsystem:
-Added a mechanism to defer _REG methods for some early-installed handlers.
-Most user handlers should be installed before call to AcpiEnableSubsystem.
+Added a mechanism to defer _REG methods for some early-installed
+Most user handlers should be installed before call to
However, Event handlers and region handlers should be installed after
AcpiInitializeObjects. Override handlers for the "default" regions should
@@ -2222,15 +2394,18 @@ Implemented an optimization for GPE dete
ignore GPE registers that contain no enabled GPEs -- there is no need to
read the register since this information is available internally. This
-becomes more important on machines with a large GPE space. ACPICA bugzilla
+becomes more important on machines with a large GPE space. ACPICA
884. Lin Ming. Suggestion from Joe Liu.
-Removed all use of the highly unreliable FADT revision field. The revision
+Removed all use of the highly unreliable FADT revision field. The
number in the FADT has been found to be completely unreliable and cannot
trusted. Only the actual table length can be used to infer the version.
-change updates the ACPICA core and the disassembler so that both no longer
+change updates the ACPICA core and the disassembler so that both no
even look at the FADT version and instead depend solely upon the FADT
@@ -2278,7 +2453,8 @@ global handlers. installation status --
or user-installed handler will be used.
-iASL: Warn if reserved method incorrectly returns a value. Many predefined
+iASL: Warn if reserved method incorrectly returns a value. Many
names are defined such that they do not return a value. If implemented as
method, issue a warning if such a name explicitly returns a value. ACPICA
@@ -2311,7 +2487,8 @@ a single screen, instead of help subcomm
Fixed a race condition between method execution and namespace walks that
possibly cause a fault. The problem was apparently introduced in version
-20100528 as a result of a performance optimization that reduces the number
+20100528 as a result of a performance optimization that reduces the
namespace walks upon method exit by using the delete_namespace_subtree
function instead of the delete_namespace_by_owner function used
@@ -2323,7 +2500,8 @@ Fixed several issues and a possible faul
method support. History: This support changes a method to "serialized" on
fly if the method generates an AE_ALREADY_EXISTS error, indicating the
-possibility that it cannot handle reentrancy. This fix repairs a couple of
+possibility that it cannot handle reentrancy. This fix repairs a couple
issues seen in the field, especially on machines with many cores:
1) Delete method children only upon the exit of the last thread,
@@ -2380,7 +2558,8 @@ much larger code and data size.
iASL: Added generic data types to the Data Table compiler. Add "generic"
-types such as UINT32, String, Unicode, etc., to simplify the generation of
+types such as UINT32, String, Unicode, etc., to simplify the generation
platform-defined tables such as UEFI. Lin Ming.
iASL: Added listing support for the Data Table Compiler. Adds listing
@@ -2407,15 +2586,18 @@ a handful of new interfaces:
One new file, evxfgpe.c to consolidate all external GPE interfaces.
See the ACPICA Programmer Reference for full details and programming
-information. See the new section 4.4 "General Purpose Event (GPE) Support"
+information. See the new section 4.4 "General Purpose Event (GPE)
for a full overview, and section 8.7 "ACPI General Purpose Event
-for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming,
+for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin
Bob Moore, Rafael Wysocki.
Implemented a new GPE feature for Windows compatibility, the "Implicit
-GPE Notify". This feature will automatically issue a Notify(2) on a device
+GPE Notify". This feature will automatically issue a Notify(2) on a
when a Wake GPE is received if there is no corresponding GPE method or
handler. ACPICA BZ 870.
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-head