?? changes.txt
字號:
Fixed an internal error that was generated for any forward
references to ASL Alias objects.
----------------------------------------
13 January 2006. Summary of changes for version 20060113:
1) ACPI CA Core Subsystem:
Added 2006 copyright to all module headers and signons. This
affects virtually every file in the ACPICA core subsystem, iASL
compiler, and the utilities.
Enhanced the ACPICA error reporting in order to simplify user
migration to the non-debug version of ACPICA. Replaced all
instances of the ACPI_DEBUG_PRINT macro invoked at the
ACPI_DB_ERROR and ACPI_DB_WARN debug levels with the
ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros, respectively.
This preserves all error and warning messages in the non-debug
version of the ACPICA code (this has been referred to as the
"debug lite" option.) Over 200 cases were converted to create a
total of over 380 error/warning messages across the ACPICA code.
This increases the code and data size of the default non-debug
version of the code somewhat (about 13K), but all error/warning
reporting may be disabled if desired (and code eliminated) by
specifying the ACPI_NO_ERROR_MESSAGES compile-time configuration
option. The size of the debug version of ACPICA remains about the
same.
Fixed a memory leak within the AML Debugger "Set" command. One
object was not properly deleted for every successful invocation of
the command.
Code and Data Size: The current and previous library sizes for the
core subsystem are shown below. These are the code and data sizes
for the acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit
compiler. These values do not include any ACPI driver or OSPM
code. The debug version of the code includes the debug output
trace mechanism and has a much larger code and data size. Note
that these values will vary depending on the efficiency of the
compiler and the compiler options used during generation.
Previous Release:
Non-Debug Version: 76.6K Code, 12.3K Data, 88.9K Total
Debug Version: 163.7K Code, 67.5K Data, 231.2K Total
Current Release:
Non-Debug Version: 83.1K Code, 18.4K Data, 101.5K Total
Debug Version: 163.2K Code, 66.2K Data, 229.4K Total
2) iASL Compiler/Disassembler:
The compiler now officially supports the ACPI 3.0a specification
that was released on December 30, 2005. (Specification is
available at www.acpi.info)
----------------------------------------
16 December 2005. Summary of changes for version 20051216:
1) ACPI CA Core Subsystem:
Implemented optional support to allow unresolved names within ASL
Package objects. A null object is inserted in the package when a
named reference cannot be located in the current namespace.
Enabled via the interpreter slack flag, this should eliminate
AE_NOT_FOUND exceptions seen on machines that contain such code.
Implemented an optimization to the initialization sequence that
can improve boot time. During ACPI device initialization, the _STA
method is now run if and only if the _INI method exists. The _STA
method is used to determine if the device is present; An _INI can
only be run if _STA returns present, but it is a waste of time to
run the _STA method if the _INI does not exist. (Prototype and
assistance from Dong Wei)
Implemented use of the C99 uintptr_t for the pointer casting
macros if it is available in the current compiler. Otherwise, the
default (void *) cast is used as before.
Fixed some possible memory leaks found within the execution path
of the Break, Continue, If, and CreateField operators. (Valery
Podrezov)
Fixed a problem introduced in the 20051202 release where an
exception is generated during method execution if a control method
attempts to declare another method.
Moved resource descriptor string constants that are used by both
the AML disassembler and AML debugger to the common utilities
directory so that these components are independent.
Implemented support in the AcpiExec utility (-e switch) to
globally ignore exceptions during control method execution (method
is not aborted.)
Added the rsinfo.c source file to the AcpiExec makefile for
Linux/Unix generation.
Code and Data Size: The current and previous library sizes for the
core subsystem are shown below. These are the code and data sizes
for the acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit
compiler. These values do not include any ACPI driver or OSPM
code. The debug version of the code includes the debug output
trace mechanism and has a much larger code and data size. Note
that these values will vary depending on the efficiency of the
compiler and the compiler options used during generation.
Previous Release:
Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
Debug Version: 163.2K Code, 67.4K Data, 230.6K Total
Current Release:
Non-Debug Version: 76.6K Code, 12.3K Data, 88.9K Total
Debug Version: 163.7K Code, 67.5K Data, 231.2K Total
2) iASL Compiler/Disassembler:
Fixed a problem where a CPU stack overflow fault could occur if a
recursive method call was made from within a Return statement.
----------------------------------------
02 December 2005. Summary of changes for version 20051202:
1) ACPI CA Core Subsystem:
Modified the parsing of control methods to no longer create
namespace objects during the first pass of the parse. Objects are
now created only during the execute phase, at the moment the
namespace creation operator is encountered in the AML (Name,
OperationRegion, CreateByteField, etc.) This should eliminate
ALREADY_EXISTS exceptions seen on some machines where reentrant
control methods are protected by an AML mutex. The mutex will now
correctly block multiple threads from attempting to create the
same object more than once.
Increased the number of available Owner Ids for namespace object
tracking from 32 to 255. This should eliminate the OWNER_ID_LIMIT
exceptions seen on some machines with a large number of ACPI
tables (either static or dynamic).
Fixed a problem with the AcpiExec utility where a fault could
occur when the -b switch (batch mode) is used.
Enhanced the namespace dump routine to output the owner ID for
each namespace object.
Code and Data Size: The current and previous library sizes for the
core subsystem are shown below. These are the code and data sizes
for the acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit
compiler. These values do not include any ACPI driver or OSPM
code. The debug version of the code includes the debug output
trace mechanism and has a much larger code and data size. Note
that these values will vary depending on the efficiency of the
compiler and the compiler options used during generation.
Previous Release:
Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
Current Release:
Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
Debug Version: 163.2K Code, 67.4K Data, 230.6K Total
2) iASL Compiler/Disassembler:
Fixed a parse error during compilation of certain Switch/Case
constructs. To simplify the parse, the grammar now allows for
multiple Default statements and this error is now detected and
flagged during the analysis phase.
Disassembler: The disassembly now includes the contents of the
original table header within a comment at the start of the file.
This includes the name and version of the original ASL compiler.
----------------------------------------
17 November 2005. Summary of changes for version 20051117:
1) ACPI CA Core Subsystem:
Fixed a problem in the AML parser where the method thread count
could be decremented below zero if any errors occurred during the
method parse phase. This should eliminate AE_AML_METHOD_LIMIT
exceptions seen on some machines. This also fixed a related
regression with the mechanism that detects and corrects methods
that cannot properly handle reentrancy (related to the deployment
of the new OwnerId mechanism.)
Eliminated the pre-parsing of control methods (to detect errors)
during table load. Related to the problem above, this was causing
unwind issues if any errors occurred during the parse, and it
seemed to be overkill. A table load should not be aborted if there
are problems with any single control method, thus rendering this
feature rather pointless.
Fixed a problem with the new table-driven resource manager where
an internal buffer overflow could occur for small resource
templates.
Implemented a new external interface, AcpiGetVendorResource. This
interface will find and return a vendor-defined resource
descriptor within a _CRS or _PRS method via an ACPI 3.0 UUID
match. With assistance from Bjorn Helgaas.
Removed the length limit (200) on string objects as per the
upcoming ACPI 3.0A specification. This affects the following areas
of the interpreter: 1) any implicit conversion of a Buffer to a
String, 2) a String object result of the ASL Concatentate
operator, 3) the String object result of the ASL ToString
operator.
Fixed a problem in the Windows OS interface layer (OSL) where a
WAIT_FOREVER on a semaphore object would incorrectly timeout. This
allows the multithreading features of the AcpiExec utility to work
properly under Windows.
Updated the Linux makefiles for the iASL compiler and AcpiExec to
include the recently added file named "utresrc.c".
Code and Data Size: The current and previous library sizes for the
core subsystem are shown below. These are the code and data sizes
for the acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit
compiler. These values do not include any ACPI driver or OSPM
code. The debug version of the code includes the debug output
trace mechanism and has a much larger code and data size. Note
that these values will vary depending on the efficiency of the
compiler and the compiler options used during generation.
Previous Release:
Non-Debug Version: 76.2K Code, 12.3K Data, 88.5K Total
Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
Current Release:
Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
2) iASL Compiler/Disassembler:
Removed the limit (200) on string objects as per the upcoming ACPI
3.0A specification. For the iASL compiler, this means that string
literals within the source ASL can be of any length.
Enhanced the listing output to dump the AML code for resource
descriptors immediately after the ASL code for each descriptor,
instead of in a block at the end of the entire resource template.
Enhanced the compiler debug output to dump the entire original
parse tree constructed during the parse phase, before any
transforms are applied to the tree. The transformed tree is dumped
also.
----------------------------------------
02 November 2005. Summary of changes for version 20051102:
1) ACPI CA Core Subsystem:
Modified the subsystem initialization sequence to improve GPE
support. The GPE initialization has been split into two parts in
order to defer execution of the _PRW methods (Power Resources for
Wake) until after the hardware is fully initialized and the SCI
handler is installed. This allows the _PRW methods to access
fields protected by the Global Lock. This will fix systems where a
NO_GLOBAL_LOCK exception has been seen during initialization.
Converted the ACPI internal object disassemble and display code
within the AML debugger to fully table-driven operation, reducing
code size and increasing maintainability.
Fixed a regression with the ConcatenateResTemplate() ASL operator
introduced in the 20051021 release.
Implemented support for "local" internal ACPI object types within
the debugger "Object" command and the AcpiWalkNamespace external
interfaces. These local types include RegionFields, BankFields,
IndexFields, Alias, and reference objects.
Moved common AML resource handling code into a new file,
"utresrc.c". This code is shared by both the Resource Manager and
the AML Debugger.
Code and Data Size: The current and previous library sizes for the
core subsystem are shown below. These are the code and data sizes
for the acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit
compiler. These values do not include any ACPI driver or OSPM
code. The debug version of the code includes the debug output
trace mechanism and has a much larger code and data size. Note
that these values will vary depending on the efficiency of the
compiler and the compiler options used during generation.
Previous Release:
Non-Debug Version: 76.1K Code, 12.2K Data, 88.3K Total
Debug Version: 163.5K Code, 67.0K Data, 230.5K Total
Current Release:
Non-Debug Version: 76.2K Code, 12.3K Data, 88.5K Total
Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
2) iASL Compiler/Disassembler:
Fixed a problem with very large initializer lists (more than 4000
elements) for both Buffer and Package objects where the parse
stack could overflow.
Enhanced the pre-compile s
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -