?? changes.txt
字號:
ACPI tables (tables other than DSDTs and SSDTs.) This includes the
new tables added to the ACPICA headers, therefore all current and
known ACPI tables are supported.
Disassembler: The change to allow ACPI names with invalid
characters also enables the disassembly of such tables. Invalid
characters within names are changed to '*' to make the name
printable; the iASL compiler will still generate an error for such
names, however, since this is an invalid ACPI character.
Implemented an option for AcpiXtract (-a) to extract all tables
found in the input file. The default invocation extracts only the
DSDTs and SSDTs.
Fixed a couple of gcc generation issues for iASL and AcpiExec and
added a makefile for the AcpiXtract utility.
----------------------------------------
17 March 2006. Summary of changes for version 20060317:
1) ACPI CA Core Subsystem:
Implemented the use of a cache object for all internal namespace
nodes. Since there are about 1000 static nodes in a typical
system, this will decrease memory use for cache implementations
that minimize per-allocation overhead (such as a slab allocator.)
Removed the reference count mechanism for internal namespace
nodes, since it was deemed unnecessary. This reduces the size of
each namespace node by about 5%-10% on all platforms. Nodes are
now 20 bytes for the 32-bit case, and 32 bytes for the 64-bit
case.
Optimized several internal data structures to reduce object size
on 64-bit platforms by packing data within the 64-bit alignment.
This includes the frequently used ACPI_OPERAND_OBJECT, of which
there can be ~1000 static instances corresponding to the namespace
objects.
Added two new strings for the predefined _OSI method: "Windows
2001.1 SP1" and "Windows 2006".
Split the allocation tracking mechanism out to a separate file,
from utalloc.c to uttrack.c. This mechanism appears to be only
useful for application-level code. Kernels may wish to not include
uttrack.c in distributions.
Removed all remnants of the obsolete ACPI_REPORT_* macros and the
associated code. (These macros have been replaced by the
ACPI_ERROR and ACPI_WARNING macros.)
Code and Data Size: These are the sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
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: 81.1K Code, 17.8K Data, 98.9K Total
Debug Version: 161.6K Code, 65.7K Data, 227.3K Total
Current Release:
Non-Debug Version: 80.9K Code, 17.7K Data, 98.6K Total
Debug Version: 158.7K Code, 64.8K Data, 223.5K Total
2) iASL Compiler/Disassembler and Tools:
Implemented an ANSI C version of the acpixtract utility. This
version will automatically extract the DSDT and all SSDTs from the
input acpidump text file and dump the binary output to separate
files. It can also display a summary of the input file including
the headers for each table found and will extract any single ACPI
table, with any signature. (See source/tools/acpixtract)
----------------------------------------
10 March 2006. Summary of changes for version 20060310:
1) ACPI CA Core Subsystem:
Tagged all external interfaces to the subsystem with the new
ACPI_EXPORT_SYMBOL macro. This macro can be defined as necessary
to assist kernel integration. For Linux, the macro resolves to the
EXPORT_SYMBOL macro. The default definition is NULL.
Added the ACPI_THREAD_ID type for the return value from
AcpiOsGetThreadId. This allows the host to define this as
necessary to simplify kernel integration. The default definition
is ACPI_NATIVE_UINT.
Fixed two interpreter problems related to error processing, the
deletion of objects, and placing invalid pointers onto the
internal operator result stack. BZ 6028, 6151 (Valery Podrezov)
Increased the reference count threshold where a warning is emitted
for large reference counts in order to eliminate unnecessary
warnings on systems with large namespaces (especially 64-bit.)
Increased the value from 0x400 to 0x800.
Due to universal disagreement as to the meaning of the 'c' in the
calloc() function, the ACPI_MEM_CALLOCATE macro has been renamed
to ACPI_ALLOCATE_ZEROED so that the purpose of the interface is
'clear'. ACPI_MEM_ALLOCATE and ACPI_MEM_FREE are renamed to
ACPI_ALLOCATE and ACPI_FREE.
Code and Data Size: These are the sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
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: 81.0K Code, 17.8K Data, 98.8K Total
Debug Version: 161.4K Code, 65.7K Data, 227.1K Total
Current Release:
Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
Debug Version: 161.6K Code, 65.7K Data, 227.3K Total
2) iASL Compiler/Disassembler:
Disassembler: implemented support for symbolic resource descriptor
references. If a CreateXxxxField operator references a fixed
offset within a resource descriptor, a name is assigned to the
descriptor and the offset is translated to the appropriate
resource tag and pathname. The addition of this support brings the
disassembled code very close to the original ASL source code and
helps eliminate run-time errors when the disassembled code is
modified (and recompiled) in such a way as to invalidate the
original fixed offsets.
Implemented support for a Descriptor Name as the last parameter to
the ASL Register() macro. This parameter was inadvertently left
out of the ACPI specification, and will be added for ACPI 3.0b.
Fixed a problem where the use of the "_OSI" string (versus the
full path "\_OSI") caused an internal compiler error. ("No back
ptr to op")
Fixed a problem with the error message that occurs when an invalid
string is used for a _HID object (such as one with an embedded
asterisk: "*PNP010A".) The correct message is now displayed.
----------------------------------------
17 February 2006. Summary of changes for version 20060217:
1) ACPI CA Core Subsystem:
Implemented a change to the IndexField support to match the
behavior of the Microsoft AML interpreter. The value written to
the Index register is now a byte offset, no longer an index based
upon the width of the Data register. This should fix IndexField
problems seen on some machines where the Data register is not
exactly one byte wide. The ACPI specification will be clarified on
this point.
Fixed a problem where several resource descriptor types could
overrun the internal descriptor buffer due to size miscalculation:
VendorShort, VendorLong, and Interrupt. This was noticed on IA64
machines, but could affect all platforms.
Fixed a problem where individual resource descriptors were
misaligned within the internal buffer, causing alignment faults on
IA64 platforms.
Code and Data Size: These are the sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
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: 81.1K Code, 17.8K Data, 98.9K Total
Debug Version: 161.3K Code, 65.6K Data, 226.9K Total
Current Release:
Non-Debug Version: 81.0K Code, 17.8K Data, 98.8K Total
Debug Version: 161.4K Code, 65.7K Data, 227.1K Total
2) iASL Compiler/Disassembler:
Implemented support for new reserved names: _WDG and _WED are
Microsoft extensions for Windows Instrumentation Management, _TDL
is a new ACPI-defined method (Throttling Depth Limit.)
Fixed a problem where a zero-length VendorShort or VendorLong
resource descriptor was incorrectly emitted as a descriptor of
length one.
----------------------------------------
10 February 2006. Summary of changes for version 20060210:
1) ACPI CA Core Subsystem:
Removed a couple of extraneous ACPI_ERROR messages that appeared
during normal execution. These became apparent after the
conversion from ACPI_DEBUG_PRINT.
Fixed a problem where the CreateField operator could hang if the
BitIndex or NumBits parameter referred to a named object. (Valery
Podrezov, BZ 5359)
Fixed a problem where a DeRefOf operation on a buffer object
incorrectly failed with an exception. This also fixes a couple of
related RefOf and DeRefOf issues. (Valery Podrezov, BZ
5360/5392/5387)
Fixed a problem where the AE_BUFFER_LIMIT exception was returned
instead of AE_STRING_LIMIT on an out-of-bounds Index() operation.
(Valery Podrezov, BZ 5480)
Implemented a memory cleanup at the end of the execution of each
iteration of an AML While() loop, preventing the accumulation of
outstanding objects. (Valery Podrezov, BZ 5427)
Eliminated a chunk of duplicate code in the object resolution
code. (Valery Podrezov, BZ 5336)
Fixed several warnings during the 64-bit code generation.
The AcpiSrc source code conversion tool now inserts one line of
whitespace after an if() statement that is followed immediately by
a comment, improving readability of the Linux code.
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: 81.0K Code, 17.9K Data, 98.9K Total
Debug Version: 161.3K Code, 65.7K Data, 227.0K Total
Current Release:
Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
Debug Version: 161.3K Code, 65.6K Data, 226.9K Total
2) iASL Compiler/Disassembler:
Fixed a problem with the disassembly of a BankField operator with
a complex expression for the BankValue parameter.
----------------------------------------
27 January 2006. Summary of changes for version 20060127:
1) ACPI CA Core Subsystem:
Implemented support in the Resource Manager to allow unresolved
namestring references within resource package objects for the _PRT
method. This support is in addition to the previously implemented
unresolved reference support within the AML parser. If the
interpreter slack mode is enabled, these unresolved references
will be passed through to the caller as a NULL package entry.
Implemented and deployed new macros and functions for error and
warning messages across the subsystem. These macros are simpler
and generate less code than their predecessors. The new macros
ACPI_ERROR, ACPI_EXCEPTION, ACPI_WARNING, and ACPI_INFO replace
the ACPI_REPORT_* macros. The older macros remain defined to allow
ACPI drivers time to migrate to the new macros.
Implemented the ACPI_CPU_FLAGS type to simplify host OS
integration of the Acquire/Release Lock OSL interfaces.
Fixed a problem where Alias ASL operators are sometimes not
correctly resolved, in both the interpreter and the iASL compiler.
Fixed several problems with the implementation of the
ConcatenateResTemplate ASL operator. As per the ACPI
specification, zero length buffers are now treated as a single
EndTag. One-length buffers always cause a fatal exception. Non-
zero length buffers that do not end with a full 2-byte EndTag
cause a fatal exception.
Fixed a possible structure overwrite in the AcpiGetObjectInfo
external interface. (With assistance from Thomas Renninger)
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: 83.1K Code, 18.4K Data, 101.5K Total
Debug Version: 163.2K Code, 66.2K Data, 229.4K Total
Current Release:
Non-Debug Version: 81.0K Code, 17.9K Data, 98.9K Total
Debug Version: 161.3K Code, 65.7K Data, 227.0K Total
2) iASL Compiler/Disassembler:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -