ACPI 组件体系结构下载(以前的版本 2012)

774413
3/24/2023

介绍

对 ACPI/AML 包对象实施了性能增强。此更改大大提高了解释器中包对象的性能。

可供下载

  • Unix*
  • 大小:1.2 MB
  • SHA1:67BDC01DF46C02C24DB0D2237648D328A3ECC4BA
  • Unix*
  • 大小:1.1 MB
  • SHA1:34FFC412FE6CE2D976BE50E41E018146679140D8
  • Microsoft Windows*
  • 大小:2 MB
  • SHA1:4B1AA2688876361F46692708AD88C1DD2FBB7BD4
  • Unix*
  • 大小:1.9 MB
  • SHA1:AC6EFCBDF7FBF428D181D914FBC229E767022F7B
  • Microsoft Windows*
  • 大小:3.4 MB
  • SHA1:367AE0C4C37CF8A7D27137AC023CCC8B9BF5E537

详细说明

1) ACPICA 内核驻留子系统:

对 ACPI/AML 包对象实施了性能增强。此更改大大提高了解释器中包对象的性能。它通过优化包子对象为整数、字符串或缓冲区的最常见情况,更改包引用计数的处理。将 ASLTS 测试套件的整体性能提高 1.5 倍(将松弛模式性能提高 2 倍。)关超.阿皮卡 BZ 943.

实施并部署了通用宏,以便从资源描述符中提取标志位。提高了代码的可读性和可维护性。修复了数据位标记数的 UART 串行总线描述符的问题(错误地为 2 位,应为 3)。

增强了ACPI_GETx和ACPI_SETx宏。改进了宏的实现,并将 SETx 宏更改为(目标、源)样式。还添加了ACPI_CASTx配套宏。吕正.

示例代码和数据大小:这些是由 Microsoft Visual C++ 9.0 32 位编译器生成的独立于操作系统的 acpica.lib 的大小。代码的调试版本包括调试输出跟踪机制,并具有更大的代码和数据大小。

旧版:
非调试版本:93.9K 代码,25.2K 数据,总计 119.1K
调试版本:175.5K 代码,74.5K 数据,总计 250.0K
当前版本:
非调试版本:94.3K 代码,25.3K 数据,总计 119.6K
调试版本:175.5K 代码,74.5K 数据,总计 250.0K

2) iASL 编译器/反汇编器和工具:

反汇编器:添加了新的 ACPI 5.0 中断共享标志。此更改添加了 ShareAndWake 和 ExclusiveAndWake 标志,这些标志已添加到 ACPI 5.0 中的 Irq、中断和 Gpio 资源描述符中。阿皮卡 BZ 986.

反汇编器:修复了外部声明生成中的问题。修复了以下问题:如果对对象的原始引用包含前导克拉 (^),则可能会为外部声明生成不正确的路径名。阿皮卡 BZ 984.

调试器:完成了“反汇编”命令的重大更新。此命令已过时,并且没有正确反汇编具有任何合理复杂性的控制方法。此修复使命令提升到与反汇编程序其余部分相同的级别。添加一个新文件 dmdeferred.c,该文件是现有代码,现在与主反汇编程序和调试器反汇编命令通用。ACPICA MZ 978。

iASL:移动了解析器条目原型以避免重复声明。较新版本的 Bison 会发出此原型,因此将原型从 iASL 标头中移出到实际使用的位置,以避免重复声明。

iASL/Tools:流 I/O 功能的标准化使用:

  1. 确保在每次 fopen/fread/fwrite 后检查 I/O 错误
  2. 确保 fread/fwrite 的大小/计数参数顺序正确
  3. 在所有fwrite和大多数fwrite之后使用(实际!=请求)的测试,并且大多数fread
  4. 标准化 I/O 错误消息

提高了代码的可靠性和可维护性。鲍勃·摩尔,吕正。阿皮卡 BZ 981.

反汇编程序:防止重复的 External() 语句。在生成过程中
的外部语句,检测实际上是
重复项,例如:
外部 (\ABCD)
外部 (ABCD)
在外部语句生成过程中,从路径名中删除所有前导“\”字符,以便检测并丢弃重复字符。阿皮卡 BZ 985.

工具:用流 I/O 功能取代低级 I/O。将打开/读取/写入/关闭替换为流 I/O 等效项 fopen/fread/fwrite/fclose,以提高可移植性和性能。吕正,鲍勃摩尔。

AcpiBin:修复了转储到十六进制函数。现在正确输出表名标头,以便 AcpiXtract 识别输出文件/表。

iASL:删除过时的 -2 选项标记。最初旨在强制编译器/反汇编器进入 ACPI 2.0 模式,但从未实现,整个概念现已过时。

日期:
20 十二月, 2012

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。