1,8 → 1,756 |
---------------------------------------- |
23 June 2011. Summary of changes for version 20110623: |
|
1) ACPI CA Core Subsystem: |
|
Updated the predefined name repair mechanism to not attempt repair of a _TSS |
return object if a _PSS object is present. We can only sort the _TSS return |
package if there is no _PSS within the same scope. This is because if _PSS is |
present, the ACPI specification dictates that the _TSS Power Dissipation field |
is to be ignored, and therefore some BIOSs leave garbage values in the _TSS |
Power field(s). In this case, it is best to just return the _TSS package as- |
is. Reported by, and fixed with assistance from Fenghua Yu. |
|
Added an option to globally disable the control method return value validation |
and repair. This runtime option can be used to disable return value repair if |
this is causing a problem on a particular machine. Also added an option to |
AcpiExec (-dr) to set this disable flag. |
|
All makefiles and project files: Major changes to improve generation of ACPICA |
tools. ACPICA BZ 912: |
Reduce default optimization levels to improve compatibility |
For Linux, add strict-aliasing=0 for gcc 4 |
Cleanup and simplify use of command line defines |
Cleanup multithread library support |
Improve usage messages |
|
Linux-specific header: update handling of THREAD_ID and pthread. For the 32- |
bit case, improve casting to eliminate possible warnings, especially with the |
acpica tools. |
|
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. |
|
Previous Release (VC 9.0): |
Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total |
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total |
Current Release (VC 9.0): |
Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total |
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
With this release, a new utility named "acpihelp" has been added to the ACPICA |
package. This utility summarizes the ACPI specification chapters for the ASL |
and AML languages. It generates under Linux/Unix as well as Windows, and |
provides the following functionality: |
Find/display ASL operator(s) -- with description and syntax. |
Find/display ASL keyword(s) -- with exact spelling and descriptions. |
Find/display ACPI predefined name(s) -- with description, number |
of arguments, and the return value data type. |
Find/display AML opcode name(s) -- with opcode, arguments, and grammar. |
Decode/display AML opcode -- with opcode name, arguments, and grammar. |
|
Service Layers: Make multi-thread support configurable. Conditionally compile |
the multi-thread support so that threading libraries will not be linked if not |
necessary. The only tool that requires multi-thread support is AcpiExec. |
|
iASL: Update yyerrror/AslCompilerError for "const" errors. Newer versions of |
Bison appear to want the interface to yyerror to be a const char * (or at |
least this is a problem when generating iASL on some systems.) ACPICA BZ 923 |
Pierre Lejeune. |
|
Tools: Fix for systems where O_BINARY is not defined. Only used for Windows |
versions of the tools. |
|
---------------------------------------- |
27 May 2011. Summary of changes for version 20110527: |
|
1) ACPI CA Core Subsystem: |
|
ASL Load() operator: Reinstate most restrictions on the incoming ACPI table |
signature. Now, only allow SSDT, OEMx, and a null signature. History: |
1) Originally, we checked the table signature for "SSDT" or "PSDT". |
(PSDT is now obsolete.) |
2) We added support for OEMx tables, signature "OEM" plus a fourth |
"don't care" character. |
3) Valid tables were encountered with a null signature, so we just |
gave up on validating the signature, (05/2008). |
4) We encountered non-AML tables such as the MADT, which caused |
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 |
enable validation. Affects both the core ACPICA code and the iASL compiler. |
|
Example Code and Data Size: These are the sizes for the OS-independent |
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug |
version of the code includes the debug output trace mechanism and has a much |
larger code and data size. |
|
Previous Release (VC 9.0): |
Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total |
Debug Version: 164.5K Code, 68.0K Data, 232.5K Total |
Current Release (VC 9.0): |
Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total |
Debug Version: 165.6K Code, 68.4K Data, 234.0K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
Debugger/AcpiExec: Implemented support for "complex" method arguments on the |
debugger command line. This adds support beyond simple integers -- including |
Strings, Buffers, and Packages. Includes support for nested packages. |
Increased the default command line buffer size to accommodate these arguments. |
See the ACPICA reference for details and syntax. ACPICA BZ 917. |
|
Debugger/AcpiExec: Implemented support for "default" method arguments for the |
Execute/Debug command. Now, the debugger will always invoke a control method |
with the required number of arguments -- even if the command line specifies |
none or insufficient arguments. It uses default integer values for any missing |
arguments. Also fixes a bug where only six method arguments maximum were |
supported instead of the required seven. |
|
Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine and |
also return status in order to prevent buffer overruns. See the ACPICA |
reference for details and syntax. ACPICA BZ 921 |
|
iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and |
makefiles to simplify support for the two different but similar parser |
generators, bison and yacc. |
|
Updated the generic unix makefile for gcc 4. The default gcc version is now |
expected to be 4 or greater, since options specific to gcc 4 are used. |
|
---------------------------------------- |
13 April 2011. Summary of changes for version 20110413: |
|
1) ACPI CA Core Subsystem: |
|
Implemented support to execute a so-called "orphan" _REG method under the EC |
device. This change will force the execution of a _REG method underneath the |
EC |
device even if there is no corresponding operation region of type |
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 |
list |
of names that can be repaired by having NULL package elements dynamically |
removed. This group are those methods that return a single variable-length |
package containing simple data types such as integers, buffers, strings. This |
includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL, |
_Sx, |
and _TZD. ACPICA BZ 914. |
|
Split and segregated all internal global lock functions to a new file, |
evglock.c. |
|
Updated internal address SpaceID for DataTable regions. Moved this internal |
space |
id in preparation for ACPI 5.0 changes that will include some new space IDs. |
This |
change should not affect user/host code. |
|
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. |
|
Previous Release (VC 9.0): |
Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total |
Debug Version: 164.2K Code, 67.9K Data, 232.1K Total |
Current Release (VC 9.0): |
Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total |
Debug Version: 164.5K Code, 68.0K Data, 232.5K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL/DTC: Major update for new grammar features. Allow generic data types in |
custom ACPI tables. Field names are now optional. Any line can be split to |
multiple lines using the continuation char (\). Large buffers now use line- |
continuation character(s) and no colon on the continuation lines. See the |
grammar |
update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob Moore. |
|
iASL: Mark ASL "Return()" and the simple "Return" as "Null" return statements. |
Since the parser stuffs a "zero" as the return value for these statements (due |
to |
the underlying AML grammar), they were seen as "return with value" by the iASL |
semantic checking. They are now seen correctly as "null" return statements. |
|
iASL: Check if a_REG declaration has a corresponding Operation Region. Adds a |
check for each _REG to ensure that there is in fact a corresponding operation |
region declaration in the same scope. If not, the _REG method is not very |
useful |
since it probably won't be executed. ACPICA BZ 915. |
|
iASL/DTC: Finish support for expression evaluation. Added a new expression |
parser |
that implements c-style operator precedence and parenthesization. ACPICA |
bugzilla |
908. |
|
Disassembler/DTC: Remove support for () and <> style comments in data tables. |
Now |
that DTC has full expression support, we don't want to have comment strings |
that |
start with a parentheses or a less-than symbol. Now, only the standard /* and |
// |
comments are supported, as well as the bracket [] comments. |
|
AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have |
"unusual" |
headers in the acpidump file. Update the header validation to support these |
tables. Problem introduced in previous AcpiXtract version in the change to |
support "wrong checksum" error messages emitted by acpidump utility. |
|
iASL: Add a * option to generate all template files (as a synonym for ALL) as |
in |
"iasl -T *" or "iasl -T ALL". |
|
iASL/DTC: Do not abort compiler on fatal errors. We do not want to completely |
abort the compiler on "fatal" errors, simply should abort the current compile. |
This allows multiple compiles with a single (possibly wildcard) compiler |
invocation. |
|
---------------------------------------- |
16 March 2011. Summary of changes for version 20110316: |
|
1) ACPI CA Core Subsystem: |
|
Fixed a problem caused by a _PRW method appearing at the namespace root scope |
during the setup of wake GPEs. A fault could occur if a _PRW directly under |
the |
root object was passed to the AcpiSetupGpeForWake interface. Lin Ming. |
|
Implemented support for "spurious" Global Lock interrupts. On some systems, a |
global lock interrupt can occur without the pending flag being set. Upon a GL |
interrupt, we now ensure that a thread is actually waiting for the lock before |
signaling GL availability. Rafael Wysocki, Bob Moore. |
|
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. |
|
Previous Release (VC 9.0): |
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
Current Release (VC 9.0): |
Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total |
Debug Version: 164.2K Code, 67.9K Data, 232.1K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
Implemented full support for the "SLIC" ACPI table. Includes support in the |
header files, disassembler, table compiler, and template generator. Bob Moore, |
Lin Ming. |
|
AcpiXtract: Correctly handle embedded comments and messages from AcpiDump. |
Apparently some or all versions of acpidump will occasionally emit a comment |
like |
"Wrong checksum", etc., into the dump file. This was causing problems for |
AcpiXtract. ACPICA BZ 905. |
|
iASL: Fix the Linux makefile by removing an inadvertent double file inclusion. |
ACPICA BZ 913. |
|
AcpiExec: Update installation of operation region handlers. Install one |
handler |
for a user-defined address space. This is used by the ASL test suite (ASLTS). |
|
---------------------------------------- |
11 February 2011. Summary of changes for version 20110211: |
|
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. |
However, Event handlers and region handlers should be installed after |
AcpiInitializeObjects. Override handlers for the "default" regions should be |
installed early, however. This change executes all _REG methods for the |
default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any |
chicken/egg issues between them. ACPICA BZ 848. |
|
Implemented an optimization for GPE detection. This optimization will simply |
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 |
884. Lin Ming. Suggestion from Joe Liu. |
|
Removed all use of the highly unreliable FADT revision field. The revision |
number in the FADT has been found to be completely unreliable and cannot be |
trusted. Only the actual table length can be used to infer the version. This |
change updates the ACPICA core and the disassembler so that both no longer |
even look at the FADT version and instead depend solely upon the FADT |
length. |
|
Fix an unresolved name issue for the no-debug and no-error-message source |
generation cases. The _AcpiModuleName was left undefined in these cases, but |
it is actually needed as a parameter to some interfaces. Define |
_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888. |
|
Split several large files (makefiles and project files updated) |
utglobal.c -> utdecode.c |
dbcomds.c -> dbmethod.c dbnames.c |
dsopcode.c -> dsargs.c dscontrol.c |
dsload.c -> dsload2.c |
aslanalyze.c -> aslbtypes.c aslwalks.c |
|
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. |
|
Previous Release (VC 9.0): |
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
Current Release (VC 9.0): |
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. |
These are useful C-style macros with the standard definitions. ACPICA |
bugzilla 898. |
|
iASL/DTC: Added support for integer expressions and labels. Support for full |
expressions for all integer fields in all ACPI tables. Support for labels in |
"generic" portions of tables such as UEFI. See the iASL reference manual. |
|
Debugger: Added a command to display the status of global handlers. The |
"handlers" command will display op region, fixed event, and miscellaneous |
global handlers. installation status -- and for op regions, whether default |
or user-installed handler will be used. |
|
iASL: Warn if reserved method incorrectly returns a value. Many predefined |
names are defined such that they do not return a value. If implemented as a |
method, issue a warning if such a name explicitly returns a value. ACPICA |
Bugzilla 855. |
|
iASL: Added detection of GPE method name conflicts. Detects a conflict where |
there are two GPE methods of the form _Lxy and _Exy in the same scope. (For |
example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848. |
|
iASL/DTC: Fixed a couple input scanner issues with comments and line |
numbers. Comment remover could get confused and miss a comment ending. Fixed |
a problem with line counter maintenance. |
|
iASL/DTC: Reduced the severity of some errors from fatal to error. There is |
no need to abort on simple errors within a field definition. |
|
Debugger: Simplified the output of the help command. All help output now in |
a single screen, instead of help subcommands. ACPICA Bugzilla 897. |
|
---------------------------------------- |
12 January 2011. Summary of changes for version 20110112: |
|
1) ACPI CA Core Subsystem: |
|
Fixed a race condition between method execution and namespace walks that can |
possibly cause a fault. The problem was apparently introduced in version |
20100528 as a result of a performance optimization that reduces the number of |
namespace walks upon method exit by using the delete_namespace_subtree |
function instead of the delete_namespace_by_owner function used previously. |
Bug is a missing namespace lock in the delete_namespace_subtree function. |
dana.myers@oracle.com |
|
Fixed several issues and a possible fault with the automatic "serialized" |
method support. History: This support changes a method to "serialized" on the |
fly if the method generates an AE_ALREADY_EXISTS error, indicating the |
possibility that it cannot handle reentrancy. This fix repairs a couple of |
issues seen in the field, especially on machines with many cores: |
|
1) Delete method children only upon the exit of the last thread, |
so as to not delete objects out from under other running threads |
(and possibly causing a fault.) |
2) Set the "serialized" bit for the method only upon the exit of the |
Last thread, so as to not cause deadlock when running threads |
attempt to exit. |
3) Cleanup the use of the AML "MethodFlags" and internal method flags |
so that there is no longer any confusion between the two. |
|
Lin Ming, Bob Moore. Reported by dana.myers@oracle.com. |
|
Debugger: Now lock the namespace for duration of a namespace dump. Prevents |
issues if the namespace is changing dynamically underneath the debugger. |
Especially affects temporary namespace nodes, since the debugger displays |
these also. |
|
Updated the ordering of include files. The ACPICA headers should appear |
before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set |
any necessary compiler-specific defines, etc. Affects the ACPI-related tools |
and utilities. |
|
Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright |
to all module headers and signons, including the Linux header. This affects |
virtually every file in the ACPICA core subsystem, iASL compiler, and all |
utilities. |
|
Added project files for MS Visual Studio 2008 (VC++ 9.0). The original |
project files for VC++ 6.0 are now obsolete. New project files can be found |
under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for |
details. |
|
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. |
|
Previous Release (VC 6.0): |
Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total |
Debug Version: 166.6K Code, 52.1K Data, 218.7K Total |
Current Release (VC 9.0): |
Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL: Added generic data types to the Data Table compiler. Add "generic" data |
types such as UINT32, String, Unicode, etc., to simplify the generation of |
platform-defined tables such as UEFI. Lin Ming. |
|
iASL: Added listing support for the Data Table Compiler. Adds listing support |
(-l) to display actual binary output for each line of input code. |
|
---------------------------------------- |
09 December 2010. Summary of changes for version 20101209: |
|
1) ACPI CA Core Subsystem: |
|
Completed the major overhaul of the GPE support code that was begun in July |
2010. Major features include: removal of _PRW execution in ACPICA (host |
executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, |
changes to existing interfaces, simplification of GPE handler operation, and |
a handful of new interfaces: |
|
AcpiUpdateAllGpes |
AcpiFinishGpe |
AcpiSetupGpeForWake |
AcpiSetGpeWakeMask |
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" |
for a full overview, and section 8.7 "ACPI General Purpose Event Management" |
for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming, |
Bob Moore, Rafael Wysocki. |
|
Implemented a new GPE feature for Windows compatibility, the "Implicit Wake |
GPE Notify". This feature will automatically issue a Notify(2) on a device |
when a Wake GPE is received if there is no corresponding GPE method or |
handler. ACPICA BZ 870. |
|
Fixed a problem with the Scope() operator during table parse and load phase. |
During load phase (table load or method execution), the scope operator should |
not enter the target into the namespace. Instead, it should open a new scope |
at the target location. Linux BZ 19462, ACPICA BZ 882. |
|
Example Code and Data Size: These are the sizes for the OS-independent |
acpica.lib produced by the Microsoft Visual C++ 6.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. |
|
Previous Release: |
Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total |
Debug Version: 166.6K Code, 52.1K Data, 218.7K Total |
Current Release: |
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL: Relax the alphanumeric restriction on _CID strings. These strings are |
"bus-specific" per the ACPI specification, and therefore any characters are |
acceptable. The only checks that can be performed are for a null string and |
perhaps for a leading asterisk. ACPICA BZ 886. |
|
iASL: Fixed a problem where a syntax error that caused a premature EOF |
condition on the source file emitted a very confusing error message. The |
premature EOF is now detected correctly. ACPICA BZ 891. |
|
Disassembler: Decode the AccessSize within a Generic Address Structure (byte |
access, word access, etc.) Note, this field does not allow arbitrary bit |
access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword. |
|
New: AcpiNames utility - Example namespace dump utility. Shows an example of |
ACPICA configuration for a minimal namespace dump utility. Uses table and |
namespace managers, but no AML interpreter. Does not add any functionality |
over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to |
partition and configure ACPICA. ACPICA BZ 883. |
|
AML Debugger: Increased the debugger buffer size for method return objects. |
Was 4K, increased to 16K. Also enhanced error messages for debugger method |
execution, including the buffer overflow case. |
|
---------------------------------------- |
13 October 2010. Summary of changes for version 20101013: |
|
1) ACPI CA Core Subsystem: |
|
Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now |
clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via |
HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880. |
|
Changed the type of the predefined namespace object _TZ from ThermalZone to |
Device. This was found to be confusing to the host software that processes |
the various thermal zones, since _TZ is not really a ThermalZone. However, a |
Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui |
Zhang. |
|
Added Windows Vista SP2 to the list of supported _OSI strings. The actual |
string is "Windows 2006 SP2". |
|
Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair |
code automatically repairs _HID-related strings, this type of code is no |
longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878. |
|
Example Code and Data Size: These are the sizes for the OS-independent |
acpica.lib produced by the Microsoft Visual C++ 6.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. |
|
Previous Release: |
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
Current Release: |
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL: Implemented additional compile-time validation for _HID strings. The |
non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of |
the string must be exactly seven or eight characters. For both _HID and _CID |
strings, all characters must be alphanumeric. ACPICA BZ 874. |
|
iASL: Allow certain "null" resource descriptors. Some BIOS code creates |
descriptors that are mostly or all zeros, with the expectation that they will |
be filled in at runtime. iASL now allows this as long as there is a "resource |
tag" (name) associated with the descriptor, which gives the ASL a handle |
needed to modify the descriptor. ACPICA BZ 873. |
|
Added single-thread support to the generic Unix application OSL. Primarily |
for iASL support, this change removes the use of semaphores in the single- |
threaded ACPICA tools/applications - increasing performance. The |
_MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED |
option. ACPICA BZ 879. |
|
AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support |
for 64-bit DSDT/FACS addresses in the FADT. Lin Ming. |
|
iASL: Moved all compiler messages to a new file, aslmessages.h. |
|
---------------------------------------- |
15 September 2010. Summary of changes for version 20100915: |
|
1) ACPI CA Core Subsystem: |
|
Removed the AcpiOsDerivePciId OSL interface. The various host implementations |
of this function were not OS-dependent and are now obsolete and can be |
removed from all host OSLs. This function has been replaced by |
AcpiHwDerivePciId, which is now part of the ACPICA core code. |
AcpiHwDerivePciId has been implemented without recursion. Adds one new |
module, hwpci.c. ACPICA BZ 857. |
|
Implemented a dynamic repair for _HID and _CID strings. The following |
problems are now repaired at runtime: 1) Remove a leading asterisk in the |
string, and 2) the entire string is uppercased. Both repairs are in |
accordance with the ACPI specification and will simplify host driver code. |
ACPICA BZ 871. |
|
The ACPI_THREAD_ID type is no longer configurable, internally it is now |
always UINT64. This simplifies the ACPICA code, especially any printf output. |
UINT64 is the only common data type for all thread_id types across all |
operating systems. It is now up to the host OSL to cast the native thread_id |
type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). |
Lin Ming, Bob Moore. |
|
Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" |
keyword is not standard across compilers, and this type allows inline to be |
configured on a per-compiler basis. Lin Ming. |
|
Made the system global AcpiGbl_SystemAwakeAndRunning publically available. |
Added an extern for this boolean in acpixf.h. Some hosts utilize this value |
during suspend/restore operations. ACPICA BZ 869. |
|
All code that implements error/warning messages with the "ACPI:" prefix has |
been moved to a new module, utxferror.c. |
|
The UINT64_OVERLAY was moved to utmath.c, which is the only module where it |
is used. ACPICA BZ 829. Lin Ming, Bob Moore. |
|
Example Code and Data Size: These are the sizes for the OS-independent |
acpica.lib produced by the Microsoft Visual C++ 6.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. |
|
Previous Release: |
Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total |
Debug Version: 165.1K Code, 51.9K Data, 217.0K Total |
Current Release: |
Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL/Disassembler: Write ACPI errors to stderr instead of the output file. |
This keeps the output files free of random error messages that may originate |
from within the namespace/interpreter code. Used this opportunity to merge |
all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ |
866. Lin Ming, Bob Moore. |
|
Tools: update some printfs for ansi warnings on size_t. Handle width change |
of size_t on 32-bit versus 64-bit generations. Lin Ming. |
|
---------------------------------------- |
06 August 2010. Summary of changes for version 20100806: |
|
1) ACPI CA Core Subsystem: |
|
Designed and implemented a new host interface to the _OSI support code. This |
will allow the host to dynamically add or remove multiple _OSI strings, as |
well as install an optional handler that is called for each _OSI invocation. |
Also added a new AML debugger command, 'osi' to display and modify the global |
_OSI string table, and test support in the AcpiExec utility. See the ACPICA |
reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836. |
New Functions: |
AcpiInstallInterface - Add an _OSI string. |
AcpiRemoveInterface - Delete an _OSI string. |
AcpiInstallInterfaceHandler - Install optional _OSI handler. |
Obsolete Functions: |
AcpiOsValidateInterface - no longer used. |
New Files: |
source/components/utilities/utosi.c |
|
Re-introduced the support to enable multi-byte transfers for Embedded |
Controller (EC) operation regions. A reported problem was found to be a bug |
in the host OS, not in the multi-byte support. Previously, the maximum data |
size passed to the EC operation region handler was a single byte. There are |
often EC Fields larger than one byte that need to be transferred, and it is |
useful for the EC driver to lock these as a single transaction. This change |
enables single transfers larger than 8 bits. This effectively changes the |
access to the EC space from ByteAcc to AnyAcc, and will probably require |
changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit |
transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming. |
|
Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The |
prototype in acpiosxf.h had the output value pointer as a (void *). |
It should be a (UINT64 *). This may affect some host OSL code. |
|
Fixed a couple problems with the recently modified Linux makefiles for iASL |
and AcpiExec. These new makefiles place the generated object files in the |
local directory so that there can be no collisions between the files that are |
shared between them that are compiled with different options. |
|
Example Code and Data Size: These are the sizes for the OS-independent |
acpica.lib produced by the Microsoft Visual C++ 6.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. |
|
Previous Release: |
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total |
Debug Version: 164.0K Code, 51.5K Data, 215.5K Total |
Current Release: |
Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total |
Debug Version: 165.1K Code, 51.9K Data, 217.0K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL/Disassembler: Added a new option (-da, "disassemble all") to load the |
namespace from and disassemble an entire group of AML files. Useful for |
loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and |
disassembling with one simple command. ACPICA BZ 865. Lin Ming. |
|
iASL: Allow multiple invocations of -e option. This change allows multiple |
uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. |
Lin Ming. |
|
---------------------------------------- |
02 July 2010. Summary of changes for version 20100702: |
|
1) ACPI CA Core Subsystem: |
|
Implemented several updates to the recently added GPE reference count |
support. The model for "wake" GPEs is changing to give the host OS complete |
control of these GPEs. Eventually, the ACPICA core will not execute any _PRW |
methods, since the host already must execute them. Also, additional changes |
were made to help ensure that the reference counts are kept in proper |
synchronization with reality. Rafael J. Wysocki. |
|
1) Ensure that GPEs are not enabled twice during initialization. |
2) Ensure that GPE enable masks stay in sync with the reference count. |
3) Do not inadvertently enable GPEs when writing GPE registers. |
4) Remove the internal wake reference counter and add new AcpiGpeWakeup |
interface. This interface will set or clear individual GPEs for wakeup. |
5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces |
are now used for "runtime" GPEs only. |
|
Changed the behavior of the GPE install/remove handler interfaces. The GPE is |
no longer disabled during this process, as it was found to cause problems on |
some machines. Rafael J. Wysocki. |
|
Reverted a change introduced in version 20100528 to enable Embedded |
Controller multi-byte transfers. This change was found to cause problems with |
Index Fields and possibly Bank Fields. It will be reintroduced when these |
problems have been resolved. |
|
Fixed a problem with references to Alias objects within Package Objects. A |
reference to an Alias within the definition of a Package was not always |
resolved properly. Aliases to objects like Processors, Thermal zones, etc. |
were resolved to the actual object instead of a reference to the object as it |
should be. Package objects are only allowed to contain integer, string, |
buffer, package, and reference objects. Redhat bugzilla 608648. |
|
Example Code and Data Size: These are the sizes for the OS-independent |
acpica.lib produced by the Microsoft Visual C++ 6.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. |
|
Previous Release: |
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total |
Debug Version: 164.1K Code, 51.5K Data, 215.6K Total |
Current Release: |
Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total |
Debug Version: 164.0K Code, 51.5K Data, 215.5K Total |
|
2) iASL Compiler/Disassembler and Tools: |
|
iASL: Implemented a new compiler subsystem to allow definition and |
compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These |
are called "ACPI Data Tables", and the new compiler is the "Data Table |
Compiler". This compiler is intended to simplify the existing error-prone |
process of creating these tables for the BIOS, as well as allowing the |
disassembly, modification, recompilation, and override of existing ACPI data |
tables. See the iASL User Guide for detailed information. |
|
iASL: Implemented a new Template Generator option in support of the new Data |
Table Compiler. This option will create examples of all known ACPI tables |
that can be used as the basis for table development. See the iASL |
documentation and the -T option. |
|
Disassembler and headers: Added support for the WDDT ACPI table (Watchdog |
Descriptor Table). |
|
Updated the Linux makefiles for iASL and AcpiExec to place the generated |
object files in the local directory so that there can be no collisions |
between the shared files between them that are generated with different |
options. |
|
Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use |
the #define __APPLE__ to enable this support. |
|
---------------------------------------- |
28 May 2010. Summary of changes for version 20100528: |
|
This release is available at www.acpica.org/downloads |
|
Note: The ACPI 4.0a specification was released on April 5, 2010 and is |
available at www.acpi.info. This is primarily an errata release. |
|