⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.txt

📁 Intel官方文档IASL编译参考(英文)
💻 TXT
📖 第 1 页 / 共 5 页
字号:
copy. Use AcpiOsUnmapMemory to free this mapping.
- AcpiGetTable returns the actual mapped table. The mapping is
managed internally and must not be deleted by the caller. Use of
this interface causes no additional dynamic memory allocation.
- AcpiFindRootPointer: Support for physical addressing has been
eliminated, it appeared to be unused.
- The interface to AcpiOsMapMemory has changed to be consistent
with the other allocation interfaces.
- The interface to AcpiOsGetRootPointer has changed to eliminate
unnecessary parameters.
- ACPI_PHYSICAL_ADDRESS is now 32 bits on 32-bit platforms, 64
bits on 64-bit platforms. Was previously 64 bits on all platforms.
- The interface to the ACPI Global Lock acquire/release macros
have changed slightly since ACPICA no longer keeps a local copy of
the FACS with a constructed pointer to the actual global lock.

Porting to the new table manager:

- AcpiInitializeTables: Must be called once, and can be called
anytime during the OS initialization process. It allows the host
to specify an area of memory to be used to store the internal
version of the RSDT/XSDT (root table). This allows the host to
access ACPI tables before memory management is initialized and
running.
- AcpiReallocateRootTable: Can be called after memory management
is running to copy the root table to a dynamically allocated
array, freeing up the scratch memory specified in the call to
AcpiInitializeTables.
- AcpiSubsystemInitialize: This existing interface is independent
of the Table Manager, and does not have to be called before the
Table Manager can be used, it only must be called before the rest
of ACPICA can be used.
- ACPI Tables: Some changes have been made to the names and
structure of the actbl.h and actbl1.h header files and may require
changes to existing code. For example, bitfields have been
completely removed because of their lack of portability across C
compilers.
- Update interfaces to the Global Lock acquire/release macros if
local versions are used. (see acwin.h)

Obsolete files: tbconvrt.c, tbget.c, tbgetall.c, tbrsdt.c

New files: tbfind.c

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:  80.7K Code, 17.9K Data,  98.6K Total
    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
  Current Release:
    Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
    Debug Version:     154.6K Code, 62.3K Data, 216.9K Total


2) iASL Compiler/Disassembler and Tools:

No changes for this release.

----------------------------------------
21 July 2006. Summary of changes for version 20060721:

1) ACPI CA Core Subsystem:

The full source code for the ASL test suite used to validate the
iASL compiler and the ACPICA core subsystem is being released with
the ACPICA source for the first time. The source is contained in a
separate package and consists of over 1100 files that exercise all
ASL/AML operators. The package should appear on the Intel/ACPI web
site shortly. (Valery Podrezov, Fiodor Suietov)

Completed a new design and implementation for support of the ACPI
Global Lock. On the OS side, the global lock is now treated as a
standard AML mutex. Previously, multiple OS threads could
"acquire" the global lock simultaneously. However, this could
cause the BIOS to be starved out of the lock - especially in cases
such as the Embedded Controller driver where there is a tight
coupling between the OS and the BIOS.

Implemented an optimization for the ACPI Global Lock interrupt
mechanism. The Global Lock interrupt handler no longer queues the
execution of a separate thread to signal the global lock
semaphore. Instead, the semaphore is signaled directly from the
interrupt handler.

Implemented support within the AML interpreter for package objects
that contain a larger AML length (package list length) than the
package element count. In this case, the length of the package is
truncated to match the package element count. Some BIOS code
apparently modifies the package length on the fly, and this change
supports this behavior. Provides compatibility with the MS AML
interpreter. (With assistance from Fiodor Suietov)

Implemented a temporary fix for the BankValue parameter of a Bank
Field to support all constant values, now including the Zero and
One opcodes. Evaluation of this parameter must eventually be
converted to a full TermArg evaluation. A not-implemented error is
now returned (temporarily) for non-constant values for this
parameter.

Fixed problem reports (Fiodor Suietov) integrated:
- Fix for premature object deletion after CopyObject on Operation
Region (BZ 350)

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:  80.7K Code, 18.0K Data,  98.7K Total
    Debug Version:     160.9K Code, 65.1K Data, 226.0K Total
  Current Release:
    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total


2) iASL Compiler/Disassembler and Tools:

No changes for this release.

----------------------------------------
07 July 2006. Summary of changes for version 20060707:

1) ACPI CA Core Subsystem:

Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C
compilers that do not allow the initialization of address pointers
within packed structures - even though the hardware itself may
support misaligned transfers. Some of the debug data structures
are packed by default to minimize size.

Added an error message for the case where AcpiOsGetThreadId()
returns zero. A non-zero value is required by the core ACPICA code
to ensure the proper operation of AML mutexes and recursive
control methods.

The DSDT is now the only ACPI table that determines whether the
AML interpreter is in 32-bit or 64-bit mode. Not really a
functional change, but the hooks for per-table 32/64 switching
have been removed from the code. A clarification to the ACPI
specification is forthcoming in ACPI 3.0B.

Fixed a possible leak of an OwnerID in the error path of
AcpiTbInitTableDescriptor (tbinstal.c), and migrated all table
OwnerID deletion to a single place in AcpiTbUninstallTable to
correct possible leaks when using the AcpiTbDeleteTablesByType
interface (with assistance from Lance Ortiz.)

Fixed a problem with Serialized control methods where the
semaphore associated with the method could be over-signaled after
multiple method invocations.

Fixed two issues with the locking of the internal namespace data
structure. Both the Unload() operator and AcpiUnloadTable
interface now lock the namespace during the namespace deletion
associated with the table unload (with assistance from Linn
Crosetto.)

Fixed problem reports (Valery Podrezov) integrated:
- Eliminate unnecessary memory allocation for CreateXxxxField (BZ
5426)

Fixed problem reports (Fiodor Suietov) integrated:
- Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
- On Address Space handler deletion, needless deactivation call
(BZ 374)
- AcpiRemoveAddressSpaceHandler: validate Device handle parameter
(BZ 375)
- Possible memory leak, Notify sub-objects of Processor, Power,
ThermalZone (BZ 376)
- AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ
378)
- Minimum Length of RSDT should be validated (BZ 379)
- AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj
has no Handler (BZ (380)
- AcpiUnloadTable: return AE_NOT_EXIST if no table of specified
type loaded (BZ 381)

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:  80.5K Code, 17.8K Data,  98.3K Total
    Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
  Current Release:
    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total


2) iASL Compiler/Disassembler and Tools:

Fixed problem reports:
Compiler segfault when ASL contains a long (>1024) String
declaration (BZ 436)

----------------------------------------
23 June 2006. Summary of changes for version 20060623:

1) ACPI CA Core Subsystem:

Implemented a new ACPI_SPINLOCK type for the OSL lock interfaces.
This allows the type to be customized to the host OS for improved
efficiency (since a spinlock is usually a very small object.)

Implemented support for "ignored" bits in the ACPI registers.
According to the ACPI specification, these bits should be
preserved when writing the registers via a read/modify/write
cycle. There are 3 bits preserved in this manner: PM1_CONTROL[0]
(SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11].

Implemented the initial deployment of new OSL mutex interfaces.
Since some host operating systems have separate mutex and
semaphore objects, this feature was requested. The base code now
uses mutexes (and the new mutex interfaces) wherever a binary
semaphore was used previously. However, for the current release,
the mutex interfaces are defined as macros to map them to the
existing semaphore interfaces. Therefore, no OSL changes are
required at this time. (See acpiosxf.h)

Fixed several problems with the support for the control method
SyncLevel parameter. The SyncLevel now works according to the ACPI
specification and in concert with the Mutex SyncLevel parameter,
since the current SyncLevel is a property of the executing thread.
Mutual exclusion for control methods is now implemented with a
mutex instead of a semaphore.

Fixed three instances of the use of the C shift operator in the
bitfield support code (exfldio.c) to avoid the use of a shift
value larger than the target data width. The behavior of C
compilers is undefined in this case and can cause unpredictable
results, and therefore the case must be detected and avoided.
(Fiodor Suietov)

Added an info message whenever an SSDT or OEM table is loaded
dynamically via the Load() or LoadTable() ASL operators. This
should improve debugging capability since it will show exactly
what tables have been loaded (beyond the tables present in the
RSDT/XSDT.)

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:  80.0K Code, 17.6K Data,  97.6K Total
    Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
  Current Release:
    Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
    Debug Version:     160.8K Code, 64.8K Data, 225.6K Total


2) iASL Compiler/Disassembler and Tools:

No changes for this release.

----------------------------------------
08 June 2006. Summary of changes for version 20060608:

1) ACPI CA Core Subsystem:

Converted the locking mutex used for the ACPI hardware to a
spinlock. This change should eliminate all problems caused by
attempting to acquire a semaphore at interrupt level, and it means
that all ACPICA external interfaces that directly access the ACPI
hardware can be safely called from interrupt level. OSL code that
implements the semaphore interfaces should be able to eliminate
any workarounds for being called at interrupt level.

Fixed a regression introduced in 20060526 where the ACPI device
initialization could be prematurely aborted with an AE_NOT_FOUND
if a device did not have an optional _INI method.

Fixed an IndexField issue where a write to the Data Register
should be limited in size to the AccessSize (width) of the
IndexField itself. (BZ 433, Fiodor Suietov)

Fixed problem reports (Valery Podrezov) integrated:
- Allow store of ThermalZone objects to Debug object (BZ
5369/5370)

Fixed problem reports (Fiodor Suietov) integrated:
- AcpiGetTableHeader doesn't handle multiple instances correctly
(BZ 364)

Removed four global mutexes that were obsolete and were no longer
being used.

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:  80.0K Code, 17.7K Data,  97.7K Total
    Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
  Current Release:
    Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
    Debug Version:     160.2K Code, 64.7K Data, 224.9K Total

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -