ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 6 章

    • 总览
    • 6.1. 设备标识对象
    • 6.2. 设备配置对象
      • 6.2.1. _CDM(时钟域)
      • 6.2.2. _CRS(当前资源设置)
      • 6.2.3. _DIS(禁用)
      • 6.2.4. _DMA(直接内存访问)
      • 6.2.5. _DSD(设备特定数据)
      • 6.2.6. _FIX(固定寄存器资源提供程序)
      • 6.2.7. _GSB(全局系统中断基址)
      • 6.2.8. _HPP(热插拔参数)
      • 6.2.9. _HPX(热插拔参数扩展)
      • 6.2.10. _MAT(多个 APIC 表条目)
      • 6.2.11. _OSC(操作系统能力)
      • 6.2.12. _PRS(可能的资源设置)
      • 6.2.13. _PRT(PCI 路由表)
      • 6.2.14. _PXM(邻近性)
      • 6.2.15. _SLI(系统局部性信息)
      • 6.2.16. _SRS(设置资源设置)
      • 6.2.17. _CCA(缓存一致性属性)
      • 6.2.18. _HMA(异构内存属性)
    • 6.3. 设备插入、移除和状态对象
    • 6.4. ACPI 的资源数据类型
      • 6.4.1. 资源描述符的 ASL 宏
      • 6.4.2. 小型资源数据类型
      • 6.4.3. 大型资源数据类型
        • 6.4.3.1. 24 位内存范围描述符
        • 6.4.3.2. 厂商定义描述符,类型 1
        • 6.4.3.3. 32 位内存范围描述符
        • 6.4.3.4. 32 位固定内存范围描述符
        • 6.4.3.5. 地址空间资源描述符
        • 6.4.3.6. 扩展中断描述符
        • 6.4.3.7. 通用寄存器描述符
        • 6.4.3.8. 连接描述符
        • 6.4.3.9. 引脚功能描述符
        • 6.4.3.10. 引脚配置描述符
        • 6.4.3.11. 引脚组描述符
        • 6.4.3.12. 引脚组功能描述符
        • 6.4.3.13. 引脚组配置描述符
    • 6.5. 其他对象和控制方法

6.2.6. _FIX(固定寄存器资源提供程序)

此可选对象用于在 FADT 中定义的固定硬件寄存器块与 ACPI 命名空间中实现这些固定硬件寄存器的设备之间提供关联。该对象求值为一个由即插即用兼容 ID(32 位压缩 EISA 类型 ID)组成的 Package,这些 ID 与 FADT 中定义的固定硬件寄存器块相关联。出现 _FIX 的设备在固定硬件的实现中发挥作用(例如,实现该硬件或对该硬件的地址进行译码)。_FIX 通过传达设备在 ACPI 固定硬件寄存器接口实现中的作用,向 OSPM 说明给定设备是否可以被禁用、断电,或者是否应被特殊处理。此对象不接受参数。

_CRS 对象描述设备的资源。该 _CRS 对象可能包含 FADT 中资源的超集,因为该设备实际可能会对超出 FADT 要求的资源进行译码。此外,在执行 I/O 桥内资源转换的机器中,FADT 中相对于处理器的资源可能与 _CRS 中相对于总线的资源不同。

参数:

无

返回值:

一个可变长度的 Package,包含一个 Integers 列表,每个元素都包含一个 PNP ID

FADT 中的每个字段都有其各自对应的即插即用 ID,如下所示:

PNP0C20 - SMI_CMD
PNP0C21 - PM1a_EVT_BLK / X\_ PM1a_EVT_BLK
PNP0C22 - PM1b_EVT_BLK / X_PM1b_EVT_BLK
PNP0C23 - PM1a_CNT_BLK / X_PM1a_CNT_BLK
PNP0C24 - PM1b_CNT_BLK / X\_ PM1b_CNT_BLK
PNP0C25 - PM2_CNT_BLK / X\_ PM2_CNT_BLK
PNP0C26 - PM_TMR_BLK / X\_ PM_TMR_BLK
PNP0C27 - GPE0_BLK / X_GPE0_BLK
PNP0C28 - GPE1_BLK / X\_ GPE1_BLK
PNP0B00 - FIXED_RTC
PNP0B01 - FIXED_RTC
PNP0B02 - FIXED_RTC

_FIX 用法的 ASL 示例:

Scope(\_SB) {
    Device(PCI0) {                      // Root PCI Bus
        Name(_HID, EISAID("PNP0A03"))   // Need \_HID for root device
        Method (_CRS,0){                // Need current resources for root device
                                        // Return current resources for root bridge 0
        }
        Name(_PRT, Package(){           // Need PCI IRQ routing for PCI bridge
                                        // Package with PCI IRQ routing table information
        })
        Name(_FIX, Package(1) {
            EISAID("PNP0C25")}           // PM2 control ID
        )
        Device (PX40) {                 // ISA
            Name(_ADR,0x00070000)
            Name(_FIX, Package(1) {
                EISAID("PNP0C20")}      // SMI command port
            )
            Device (NS17) {              // NS17 (Nat. Semi 317, an ACPI part)
                Name(_HID, EISAID("PNP0C02"))
                Name(_FIX, Package(3) {
                    EISAID("PNP0C22"),  // PM1b event ID
                    EISAID("PNP0C24"),  // PM1b control ID
                    EISAID("PNP0C28")}  // GPE1 ID
            }
        }                               // end PX40
        Device (PX43) {                 // PM Control
            Name(_ADR,0x00070003)
            Name(_FIX, Package(4) {
                EISAID("PNP0C21"),      // PM1a event ID
                EISAID("PNP0C23"),      // PM1a control ID
                EISAID("PNP0C26"),      // PM Timer ID
                EISAID("PNP0C27")}      // GPE0 ID
            )
        }                               // end PX43
    }                                   // end PCI0
}                                       // end scope SB
Prev
6.2.5. _DSD(设备特定数据)
Next
6.2.7. _GSB(全局系统中断基址)